这两天,同事在项目上需要用7z来做压缩包解压
测试的时候遇到了一个错误
WindowsError 6 句柄错误。
这个问题的原因是为什么呢...目前只能猜测:可能是因为7z开了多线程进行解压,subprocess中的clearup造成了句柄丢失
解决方案如下:
同事的代码大致是这样的,1. 引用os???2. 调用Popen函数执行命令语句
import os
os.Popen('命令')
只要把os.Popen换成
subprocess.Popen('命令')
from subprocess import Popen, PIPE
subprocess.Popen('命令')
如上。