私はsubprocess.Popenモジュールで別のpythonスクリプトを呼び出すスクリプトを持っています。私はそれが@wilberforce &をコーミングによって動作するようになったSubprocess.Popenに変数を渡す
:私は変数に格納された引数(複数可)
servers[server]['address']
servers[server]['port']
servers[server]['pass']
を持っているのでしかし、私は
p = subprocess.Popen(["python mytool.py -a ", servers[server]['address'], "-x", servers[server]['port'], "-p", servers[server]['pass'], "some additional command"], shell=True, stdout=subprocess.PIPE)
は、回避策のコマンドを実行することができません@ ciphorさんの答えですが少し修正して
command = "python mytool.py -a %s -x %s -p %s some additional command" % (servers[server]['address'], servers[server]['port'], servers[server]['pass'])
p = subprocess.Popen(command , shell=True, stdout=subprocess.PIPE)
二重引用符で複数の変数を追加した場合、動作が停止します。最大2個の変数を取り、さらにブレークします。
お返事いただいた皆様に感謝します。
変数を使用して、コマンドである文字列を作成するか、引数のリストとして渡します。 – beroe