背景
周末,一个哥们听说我最近在学python爬虫,就让我帮忙写了个爬虫(菜鸟水平,很low),于是就利用周末的时间在我的破电脑上开始捣鼓了。
环境:win7 eclipse+pyde
场景描述:
今天把代码给他了,结果发现在他的电脑上(自带的python解释器)执行不了【顿时懵逼了 - -!】。于是我赶快用我的电脑也运行了下,结果同样执行不了【懵逼2.0–!】。这咋整呀,在eclipse上还是可以正常执行的,结果换了下运行环境就不可以了。
于是仔细核对了下,把自己之前写的一些脚本(奇low无比)瞅了瞅(差点让他去装eclipse了)。猜想是不是与reload(sys)有关,注释下,看可不可以,运行后发现是正常的,还真是这个问题。立马告诉他,把脚本的reload(sys)注释掉,就可以正常用了。【得瑟脸】
当时写爬虫的时候,因为爬取的页面得用gbk去解释,所以在文本顶部就默认了下gbk编码环境
接着百度查看了下才知道是怎么回事
执行reload(sys)后会重置sys模块特定的标准输入、标准输出和标准错误输出,使得输入和输出无法在IDLE中显示。
解决方案:
1、直接注释掉,不用
2、在reload之前把三个变量