[英]Python create shell for several processes
我在Windows上使用subprocess.call()在python中執行了幾個命令,但是對於每個命令,我需要在調用正確的命令之前使用環境設置執行批處理文件,如下所示
subprocess.call(precommand + command)
有沒有辦法在python中“創建” shell,該批處理文件只會執行一次,而在該shell命令中將執行幾次?
tempfile.NamedTemporaryFile()
) subprocess.check_call(bat_file.name)
) (未測試):
#!/usr/bin/env python
from __future__ import print_function
import os
import subprocess
import tempfile
with tempfile.NamedTemporaryFile('w', suffix='.bat', delete=False) as bat_file:
print(precommand, file=bat_file)
print(command, file=bat_file)
rc = subprocess.call(bat_file.name)
os.remove(bat_file.name)
if rc != 0:
raise subprocess.CalledProcessError(rc, bat_file.name)
您是否需要分別從每個命令獲取輸出? 如果否-您可以使用&&,||傳達這些命令。 要么 ;
cd dir && cp test1 test2 && cd -
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.