【发布时间】:2011-04-01 15:25:18
【问题描述】:
我是 python 的子进程模块的新手,目前我的实现不是多处理的。
import subprocess,shlex
def forcedParsing(fname):
cmd = 'strings "%s"' % (fname)
#print cmd
args= shlex.split(cmd)
try:
sp = subprocess.Popen( args, shell = False, stdout = subprocess.PIPE, stderr = subprocess.PIPE )
out, err = sp.communicate()
except OSError:
print "Error no %s Message %s" % (OSError.errno,OSError.message)
pass
if sp.returncode== 0:
#print "Processed %s" %fname
return out
res=[]
for f in file_list: res.append(forcedParsing(f))
我的问题:
-
sp.communicate 是个好方法吗?我应该使用民意调查吗?
如果我使用 poll,我需要一个单独的进程来监控进程是否正确完成?
我应该在
for循环中分叉吗?
【问题讨论】:
标签: python multithreading process subprocess fork