Escape @ из командной строки Python - PullRequest
2 голосов
/ 27 января 2010

Я не знаю, если это проблема с python или с оболочкой (zsh на linux), у меня есть такой аргумент: "@xyz", который начинается с "@"

python the_script.py first_argument @second_argument third_arg

Я пытался экранировать @ с помощью \ или \\, или использовал "", но программа не запускалась.Если я оставлю @ из @second_arguments, то все в порядке.

1 Ответ

2 голосов
/ 27 января 2010
  1. Возможно, "@" - это глобальный символ в zsh, расширяющийся на все символические ссылки в текущем каталоге . Попробуйте экранировать с помощью "@@"?

  2. Попробуйте запустить список аргументов с помощью echo, т.е.:

    echo the_script.py first_argument @second_argument third_arg

Таким образом, вы можете выяснить, был ли он расширен или передан в сценарий как есть.

...