对于subprocess
中的所有专家来说,这是一个初学者级别的问题。
在Windows中,我是否可以使用subprocess
发送以下CMD命令,以便它们 在一个shell中一个接一个地执行 :
实际上,我正在尝试加载Virtualenv而无需手动触摸CMD提示。
提前致谢:)
答案 0 :(得分:2)
就像评论&&
中提到的那样:
from subprocess import call
call(r'cd C:\ && echo 123 && dir', shell=True)
请注意shell=True
参数。
由于评论而编辑:
如果您将原始输入值传递给调用,则 Shell=True
是一个安全问题。请参阅docs:
from subprocess import call
filename = input("What file would you like to display?\n")
>>> What file would you like to display?
>>> non_existent; rm -rf / #
call("cat " + filename, shell=True) # Uh-oh. This will end badly...
最初认为你想为个人目的制作一个小脚本。如果您想要提供此代码,请考虑通过distutils或setuptools打包代码。