下面的代码不会写入我正在创建的日志文件(Dm_日志.txt). 但如果我把stdout注释掉,stderr=过程.沟通()然后它会。如果我不使用communicate,那么子进程将暂停,因为我正在使用communicate进程。等等(). 如何解决?我需要写在日志文件和运行的过程太。你知道吗
logfilePath = self.psexeclogs + 'Dm_Log.txt'
logfile = file(logfilePath,'w')
try:
process = subprocess.Popen(drivemaster_open_command, stdout = subprocess.PIPE,stderr = subprocess.PIPE)
stdout, stderr = process.communicate()
for line in process.stderr:
print ' '
sys.stderr.write(line)
logfile.write(line)
process.wait()
except OSError:
print "********COULD NOT FIND PSEXEC.EXE, PLEASE REINSTALL AND SET THE PATH VARIABLE PROPERLY********\n"
#Close the logfile first
logfile.close()
在使用
communicate
等待进程终止后,就不能使用process.stderr
,只能使用stderr
。你知道吗相关问题 更多 >
编程相关推荐