网站地图 联系我们

学习python首选-实战python学习班,专注于python高级工程师培养,python课程:包括Python核心编程技术、全栈开发、网络爬虫、人工智能等。python全栈工程师+提高工作经验,获取免费试听课程!
当前位置: python培训 > python学习 > 常见问题 > 正文

python2.7无法输出print是因为我用了reload(sys)吗?

来源:肚皮舞 浏览量: 发布日期:20-08-27 11:17:43 调整字体大小【 【所属栏目:常见问题】

  为了解决此问题

  解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误

  从而在代码中使用了reload(sys)

  但在此句过后,print语句无法正常输出内容,有办法解决吗?

  >>> print 123

  123

  >>> print sys.getdefaultencoding()

  cp936

  >>> reload(sys)

  >>> print sys.getdefaultencoding()

  >>> print 123

  >>>

  你应该是在idle下运行的吧? 无法print是因为idle的stdout并非是默认的stdout,所以reload(sys)之后就所有到stdout的输出就看不到了,可以考虑如下的代码在reload(sys)之后再把stdout换回去

  import sys

  stdout = sys.stdout

  reload(sys)

  sys.stdout = stdout

  同样的,还要对stdin, stderr做一样的处理

标签:
肚皮舞新闻动态News Center

肚皮舞视频

肚皮舞培训课程

联系卡伊丝contact us
联系我们
python培训「零基础入门到精通」python人工智能编程培训班-0798wz.com

咨询热线:18301225663