[WinError 6] 句柄无效。[WinError 6] 句柄无效。[WinError 6] 句柄无效。
这个错我搞了一个下午和一个晚上,我先阐述下错误
用Pythpn TK制作的GUI项目,做了个伪DOS界面,在Python下执行cmd的命令,需要返回值所以当时用的是os.Popen方法,在IDE(Pycharm社区版)下正常执行。如图:
使用Pyinstaller 打包成exe后在运行就报错:[WinError 6] 句柄无效。如图:
于是各种百度,.......
这个方法有人说可以但是我的不行
def myPopen(self,cmd): import subprocess proc = subprocess.Popen(cmd,shell=True, stdout=subprocess.PIPE, stdin=subprocess.DEVNULL) return proc.stdout.read().decode()
百思不得其解,都谷歌了还是白费郁闷的不行,最后心平气和的百度到个写法
def myPopen(self,cmd): proc =subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) return proc.stdout.read().decode()
仔细看有啥区别吧。
人家好用的咱们不一定行,所以咱也不能怪人家每个人的计算机环境也是不一样的
属予作文以记之。