我在Python 3.3中遇到了subprocess.Popen和os.system的不同行为
当我在命令提示符下运行时
TortoiseProc.exe /command:update /path:"c:\projects\my_project" /closeonend:0
TortioseSVN尝试更新我的文件夹。当我尝试从python进行这样的系统调用时:
import subprocess
subprocess.call(["TortoiseProc.exe", "/command:update", '/path:"C:\projects\my_project"', '/closeonend:0'])
或
import subprocess
subprocess.Popen(["TortoiseProc.exe", "/command:update", '/path:"C:\projects\my_project"', '/closeonend:0'])
TortoiseProc.exe被称为ok,但它没有更新文件夹 - 它显示它被跳过。
当我使用os.system时 - 一切正常,TortoiseProc.exe正在更新我的文件夹,但也出现了控制台窗口。
os.system('TortoiseProc.exe /command:update /path:"C:\projects\my_project" /closeonend:0')
那么如何让TortoiseProc.exe通过子进程工作呢?我如何在没有控制台窗口的情况下调用os.system?