0

我用过

    self.session.open(MoviePlayer, sref)

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

    subprocess.Popen()

但我不确定我应该如何转换上面的行来使用它。

4

2 回答 2

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有更多细节和例子。

于 2013-01-19T09:52:33.830 回答
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
于 2013-01-19T12:07:28.013 回答