我需要在shell命令之上使用python处理大小超过10gb的gzip文件,因此决定使用subprocess Popen
这是我的密码:
outputdir = '/mnt/json/output/'
inp_cmd='gzip -r ' + outputdir
pipe = Popen(["bash"], stdout =PIPE,stdin=PIPE,stderr=PIPE)
cmd = bytes(inp_cmd.encode('utf8'))
stdout_data,stderr_data = pipe.communicate(input=cmd)
它不会对输出目录中的文件进行gzip压缩。 有出路吗
你这样试过吗:
最好的方法是使用subprocess.call()而不是subprocess.communicate()
call()等待命令完全执行,而在Popen()中,必须从外部使用wait()方法才能完成执行
相关问题 更多 >
编程相关推荐