17

スペースを含む引数でpythonを実行するには? 私はMacOSを使用しています

例えば、

>python testProgram.py argument 1 argument 2

「引数 1」は単一の引数ですか?

4

4 に答える 4

28

ここで、「引数 1」は単一の引数です。

あなたは基本的にそこであなた自身の質問に答えましたが、"argument 1"実際には単一の議論です。

つまり、次のいずれかのように引用する必要があります。

python testProgram.py "argument 1" 'argument 2'

これは実際には Python の問題ではありませんが、Python スクリプトの実行に使用しているシェルによって異なります。

たとえば、 ではbash、一重引用符と二重引用符の間に違いがあり、その中で最も重要なのは、おそらく次のようなさまざまな展開です。一重引用符で$HOME囲まれたバリアントは、これらの展開を行いません。

于 2012-08-10T02:56:39.363 に答える
3

スペースを含むパラメータは二重引用符で囲みます

> python testProgram.py "argument 1" "argument 2"

これは Windows と Linux で動作するため、Mac OS でも問題なく動作する可能性があります。

于 2012-08-10T02:54:05.993 に答える
2

またはsubprocess、Python 自体から使用する場合:

subprocess.call(['python','testProgram.py','argument 1','argument 2'])

しかし、他の答えはあなたが望むものである可能性が高くなります。

于 2012-08-10T03:04:11.450 に答える
1

試す:

>python testProgram.py "argument 1" "argument 2"
于 2012-08-10T02:53:15.770 に答える