如何避免使用Shell = True

时间:2018-06-18 08:51:59

标签: python python-3.x subprocess

我的剧本不想开始 如果我运行命令localsite = subprocess.Popen("Localsite.py"),则返回OSError: [WinError 193] %1 is not a valid Win32 application

要解决这个问题,我可以使用localsite = subprocess.Popen("Localsite.py", shell=True),我实际上并不完全确定它的作用。但我可以想象它会引起问题,因为软件将由普通用户分发和使用,而无需安装Python。

但我怎样才能避免使用shell=True

1 个答案:

答案 0 :(得分:0)

你应该成功

localsite = subprocess.Popen(["<Path to python exe>", "Localsite.py" ])

而不是

localsite = subprocess.Popen("Localsite.py")

您需要指定要执行的python.exe以及该python.exe的参数是什么