Pythonサブプロセスモジュールを使用して一連のコマンドを実行しようとしていますが、実行する前にシェル変数をエクスポートする必要があります。もちろん、シェルは永続的ではないようですので、後でコマンドを実行するとシェル変数が失われます。Python:サブプロセス内の永続シェル変数
これについてはどのような方法がありますか?私は/ bin/shプロセスを作成することができましたが、コマンドの終了コードをどのようにして得るのでしょうか?
Pythonサブプロセスモジュールを使用して一連のコマンドを実行しようとしていますが、実行する前にシェル変数をエクスポートする必要があります。もちろん、シェルは永続的ではないようですので、後でコマンドを実行するとシェル変数が失われます。Python:サブプロセス内の永続シェル変数
これについてはどのような方法がありますか?私は/ bin/shプロセスを作成することができましたが、コマンドの終了コードをどのようにして得るのでしょうか?
subprocess.Popen
は、サブプロセスの環境(「シェル変数」として説明しているもの)として使用する辞書である任意の名前付き引数のenv
をとります。必要に応じて辞書を準備してください(os.environ
のコピーから始め、必要に応じて変更してください)。subprocess.Popen
のすべての呼び出しに渡してください。
アレックスは間違いありません。例を挙げると
current_env=environ.copy()
current_env["XXX"] = "SOMETHING" #If you want to change some env variable
subProcess.Popen("command_n_args", env=current_env)
完璧、ありがとうございます。 – PeterBelm
@PeterBelm、よろしいですか? –