【笔记】关于python自带解释器reload(sys)后无法正常执行

在win7环境下,使用eclipse+pyde,发现Python代码在自带解释器中执行失败,问题出在`reload(sys)`。注释掉这行后,代码恢复正常。`reload(sys)`会重置sys模块的输入、输出和错误输出,导致在IDLE中无法显示。解决方案包括注释掉`reload(sys)`或在reload前备份并恢复`sys.stdin`, `sys.stdout`, `sys.stderr`。" 89602626,8042485,Java利用@Entity导出Bean到Excel,"['Java', 'Excel处理', 'bean转换', '数据导出', '注解使用']
摘要由CSDN通过智能技术生成

背景

周末,一个哥们听说我最近在学python爬虫,就让我帮忙写了个爬虫(菜鸟水平,很low),于是就利用周末的时间在我的破电脑上开始捣鼓了。

环境:win7 eclipse+pyde

场景描述:
今天把代码给他了,结果发现在他的电脑上(自带的python解释器)执行不了【顿时懵逼了 - -!】。于是我赶快用我的电脑也运行了下,结果同样执行不了【懵逼2.0–!】。这咋整呀,在eclipse上还是可以正常执行的,结果换了下运行环境就不可以了。
于是仔细核对了下,把自己之前写的一些脚本(奇low无比)瞅了瞅(差点让他去装eclipse了)。猜想是不是与reload(sys)有关,注释下,看可不可以,运行后发现是正常的,还真是这个问题。立马告诉他,把脚本的reload(sys)注释掉,就可以正常用了。【得瑟脸】

当时写爬虫的时候,因为爬取的页面得用gbk去解释,所以在文本顶部就默认了下gbk编码环境

接着百度查看了下才知道是怎么回事

执行reload(sys)后会重置sys模块特定的标准输入、标准输出和标准错误输出,使得输入和输出无法在IDLE中显示。

解决方案:

1、直接注释掉,不用
2、在reload之前把三个变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值