2013-01-19 37 views
0

我用如何寫代碼subprocess.Popen線

self.session.open(MoviePlayer, sref) 

開始玩MoviePlayer文件在我的Python 2.6的代碼, 我已被告知,我應該使用

subprocess.Popen() 

但我不確定如何轉換上面的行來使用它。

回答

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有更多的細節和例子。

0

有幾種方法可以使用Python運行系統命令

import os 
os.system("date") 

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

,或者如果你想使用subprocesss:

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