これがPythonの問題なのか、シェル(Linuxのzsh)の問題なのかはわかりませんが、「@」で始まる「@xyz」のような引数があります。
python the_script.py first_argument @second_argument third_arg
@を\または\\でエスケープするか、 ""を使用しようとしましたが、プログラムが起動しません。@second_argumentsから@を残せば、すべて問題ありません。
おそらく、「@」はzshのグロブ文字であり、現在のディレクトリ内のすべてのシンボリックリンクに展開されます。「@@」でエスケープしてみますか?
引数リストを実行してみてくださいecho
。つまり、次のようになります。
エコーthe_script.pyfirst_argument@second_argument third_arg
そうすれば、それが展開されたのか、そのままスクリプトに渡されたのかを把握できます。