如何编写subprocess.Popen代码行

时间:2013-01-19 09:38:39

标签: python

我用过

    self.session.open(MoviePlayer, sref)

在我的python 2.6代码中开始使用MoviePlayer播放文件, 我被告知我应该使用

    subprocess.Popen()

但我不确定如何转换上述行以使用它。

2 个答案:

答案 0 :(得分:1)

我不知道self.session.open是什么东西,但这是一个简单的例子 如何使用子进程:

import subprocess

p = subprocess.Popen(
    ['echo', 'run', 'your', 'command'],
    stdin=subprocess.PIPE,
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE)
out, err = p.communicate('')
print '==== exit code:', p.returncode
print '==== stdout:'
print out,
print '==== stderr:'
print err,

将其保存到文件中,然后在类Unix系统的命令行中运行它。

http://docs.python.org/2/library/subprocess.html有更多细节和示例。

答案 1 :(得分:0)

使用python

运行系统命令有多种方法
import os
os.system("date")

import os
f = os.popen('date')
now = f.read()
print "Today is ", now

或者如果您想使用子流程:

import subprocess
subprocess.call("command1")
subprocess.call(["command1", "arg1", "arg2"])

==

import subprocess
subprocess.call(["ls", "-l", "/etc/passwd"])

==

import subprocess
p = subprocess.Popen("date", stdout=subprocess.PIPE, shell=True)
(output, err) = p.communicate()
print "Today is", output

==

import subprocess
p = subprocess.Popen(["ls", "-l", "/etc/fstab"], stdout=subprocess.PIPE)
output, err = p.communicate()
print "*** Running ls -l command ***\n", output

==

import subprocess
p = subprocess.Popen(["ping", "-c", "10", "www.siyahsapka.org"], stdout=subprocess.PIPE)
output, err = p.communicate()
print  output