我用subprocess模块调用不同的进程.但是,我有一个问题.
在以下代码中:
callProcess = subprocess.Popen(['ls', '-l'], shell=True)
Run Code Online (Sandbox Code Playgroud)
和
callProcess = subprocess.Popen(['ls', '-l']) # without shell
Run Code Online (Sandbox Code Playgroud)
两者都有效.阅读文档后,我开始知道这shell=True意味着通过shell执行代码.这意味着在缺席的情况下,该过程将直接启动.
那么我应该更喜欢我的情况 - 我需要运行一个进程并获得其输出.从shell内部或外部调用它有什么好处.
由于os.popen被subprocess.popen取代,我想知道如何转换
os.popen('swfdump /tmp/filename.swf/ -d')
Run Code Online (Sandbox Code Playgroud)
到subprocess.popen()
我试过了:
subprocess.Popen("swfdump /tmp/filename.swf -d")
subprocess.Popen("swfdump %s -d" % (filename)) # NOTE: filename is a variable
# containing /tmp/filename.swf
Run Code Online (Sandbox Code Playgroud)
但我想我没有正确地写出来.任何帮助,将不胜感激.谢谢
我正在用python创建小的控制台脚本,我想在其中放置cowsay命令,但是cow说的是变量的名称,字符串所在的位置,而不是变量内的字符串。我怎样才能让牛在变量中说出字符串?
if (command == 'cow'):
word = raw_input('What does the cow say? ')
os.system('cowsay word')
Run Code Online (Sandbox Code Playgroud)