>>> a = os.popen('chcp 65001')
>>> a.read()
'Active code page: 65001\n'
>>> a.close()
>>> a = os.popen('chcp')
>>> a.read()
'Active code page: 437\n'
>>> a.close()
在我将代码页设置为65001之后,下次我调用chcp时应该说活动代码页是65001而不是437.我在Windows命令提示符下尝试了这个并且它有效。 为什么它不能通过python代码工作?
答案 0 :(得分:1)
原因是每次拨打os.popen
时,您都会产生一个新流程。尝试打开两个cmd.exe
个会话,在另一个会话中运行chcp 65001
,在另一个会话中运行chcp
- 这就是您在Python代码中所做的事情。
需要注意的一点是:从Python 2.6开始,所有[popen*()][1]
调用都被折旧。要使用的新模块是subprocess
模块。