Я передаю URL-адрес в качестве первого параметра скрипту. Но он не будет принимать полный URL-адрес, если он содержит знак равенства (=). Например, если myscript.py
содержит:Python 3.4 sys.argv [1]
site = sys.argv[1]
и зову
myscript.py https://www.google.com/#q=boxing
он останавливается перед знаком равенства и не принимает в полном URL.
site = sys.argv[1]
print(site)
выход:
https://www.google.com/#q=
Я знаю, что может поставить полный URL в двойных кавычках, и он будет обрабатываться, но что автоматизировать передачу параметра и не придется беспокоиться о поставить двойные кавычки.
Не могли бы вы предоставить некоторые рекомендации. Благодарю.
Это работает на моей машине Linux, какую ОС вы используете? Как правило, поскольку URL-адреса могут иметь мета-символы, также используемые оболочками, вам нужно что-то сделать. Что вы подразумеваете под «автоматизацией передачи параметра»? Если вы делаете это с помощью python, вы можете использовать 'subprocess.call (['myscript.py', 'https://www.google.com/#q=boxing'])'. В linux вы полностью пропускаете подоболочку, а на окнах строка ускользает для вас. – tdelaney
Я использую 64-битные окна 7 и python 32-разрядную версию 3.4. Как я могу избежать знака равенства, поскольку это, по-видимому, является проблемой для большинства моих URL. – PappyC
У меня нет оконной машины, поэтому я не могу проверить, но я думаю, что знак равенства подходит для cmd .... вы используете силовую оболочку? Вот подсказка http://stackoverflow.com/a/26194007/642070, но я не уверен! – tdelaney