私はサブプロセスモジュールを使ってPythonでコマンドを実行しています。しかし、問題は、コマンドに文字列(ファイル名用)も含めたいということです。文字列フォーマットでコマンドを実行するにはどうすればよいですか?
私が何をしたいの例:
from subprocess import call
command = "cd/DirectoryName"
call = [(command)]
この具体例では、私はDirectoryNameのは、ユーザーによって決定変数になりたいです。
Desktop=raw_input()
cmd="'cd %s'(Desktop/)"
call([cmd])
ここで私はPythonシェルでこれらのコマンドを実行しようとすると、私が手にエラーがあります:私は無駄にしようとしている何
。
Chicken='Chicken'
command = 'say %s' % (Chicken)
print command
say Chicken
call([command])
Traceback (most recent call last):
File "/Applications/WingIDE.app/Contents/MacOS/src/debug/tserver/_sandbox.py", line 1, in <module>
# Used internally for debug sandbox under external interpreter
File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/Library/Frameworks/EPD64.framework/Versions/7.2/lib/python2.7/subprocess.py", line 1228, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
ちょうどこれを試して、シェルがクラッシュしました。
Chicken="Chicken"
print Chicken
Chicken
call[("say %s" % (Chicken)]
構文のヘルプありがとうございます。私は、私が得るエラーで質問を更新しました。ファイルやディレクトリが私が実行したいコマンドにどのように影響するかはわかりません。 – ironcyclone
シンプルです。 "cd"という名前のコマンドはありません。 "cd"コマンドがありますが、それはあなたが実行しているものではありません。 –
しかし、私が掲示した例では、コンピュータは言葉を話すと言う。コールステートメントを実行したときに「チキン」と言っていたはずです。 – ironcyclone