を使用すると、現在呼び出し:サブプロセスコマンドにおける変数(パイソン)
f = open('/tmp/list.txt','w')
f.write(list)
f.close() # Make sure to close the file before call sub-process.
# Otherwise, file content will not visible to sub-process.
process = subprocess.Popen('oscommand --file={}'.format(f.name),
shell=True, stdout=subprocess.PIPE)
を但し[ShortId] [1]を使用して生成された引数として変数を使用する必要があります。
u=ShortId()
process = subprocess.Popen('oscommand --label "The unique id is "'+u' --file={}'.format(f.name),
shell=True, stdout=subprocess.PIPE)
最高のエスケープ処理はどのように処理されますか?これは、どちらかのIDのリスクを回避
u=ShortId()
cmd = ['oscommand', '--label', 'The unique id is {}'.format(u), '--file={}'.format(f.name)]
process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
:あなたはshell=True
でstr
コマンドをしようとして停止し、ちょうどshell=False
(デフォルト)と、より安全、より速くlist
ベースのコマンドを使用する場合、これは実際には簡単です
'.format(str(u))'を試したことがありますか? –
文字列を 'Popen'コマンドに渡しています。文字列を書式設定して渡す前に変数として保存することができます。 – James