Pythonコマンドでシェルスクリプトファイルを呼び出しています。Filename1
ファイル名の実際の値を格納するためにスタンドアロンPythonプログラムによって作成された変数。Filename
ここでは変数が機能しないので、次の2番目の文を実行するにはどうすればよいですか?実際のファイル名を保持すると、2番目の文を介してシェルスクリプトファイルが実行されます。
これを自動化する必要がありますが、実際のファイル名をハードコードすることはできません。したがって、2番目のステートメントの変数にアクセスする機会があると思います。
import os
os.system('sh uploadPDFContentFile.sh Filename1')
答え1
より良い使用サブプロセス基準寸法。
>>> subprocess.run(["ls", "-l"]) # doesn't capture output
CompletedProcess(args=['ls', '-l'], returncode=0)
subprocessモジュールは、新しいプロセスを作成し、結果を取得するためのより強力なツールを提供します。この機能よりもこのモジュールを使用する方が良いです。
ただし、文字列置換を使用できます。
call_with_args = "./script2.py '%s' '%s'" % (str(arg1), str(arg2))
os.system(call_with_args)
または文字列滞在
>>> '{0}, {1}, {2}'.format('a', 'b', 'c')
'a, b, c'