Py2exe Bad file Descriptor

 

       前段时间用python做的上传工具,是用wxPython做UI的,再结合py2exe打包成直接可以运行的exe,虽然打包的时候遇到了乱码的问题,但误打乱撞的也解决了这个问题,不过经验告诉我们,用一个新的东西的时候,问题总是会有的,果然,后来一直遇到一个很奇怪的问题,代码在IDE里面运行得好好的,打包成exe后就经常会报一个 error, bad file descriptor的错误。 而且最离奇的就是这个错误好像是随机出现的,一会有,一会又没有,google一下这个错误,它本身的意思就是打开文件或者读写文件的时候出错了,类似共享冲突,锁 之类。


       这个问题困扰了我很久,我也尝试过很多种方法,后来偶然一次把日志输出的功能关掉,问题暂时得到了解决,但也只是出现的频率少了,还是会出现,真是吐血,关键是搞了这么久也不知道是啥原因啊。。。


       今天又Google了一下,不经意间看到一行文字[Errno 9] Bad file descriptor. 39, #. 40, # In other words, after printing a certain number of bytes to the。。。。 突然想起,难道是因为打包过后 print 函数输出的东西没地方去了,原本是到标准输出的,现在是GUI了,没有命令行窗口了,就会出错了? 一念及此,立马把所有的print都注释掉,再重新打包,运行,呵呵,还真是这个问题


       看来编程序不能马虎啊,当初为省力,一开始没配日志模块,全用print了,方便,也就是祸根了。 另一方面,要想很快的解决问题,多学点基础,原理才是正理啊

0 评论: