如何在python中更改windows代码页?

时间:2010-08-26 16:29:55

标签: python codepages

>>> 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代码工作?

1 个答案:

答案 0 :(得分:1)

原因是每次拨打os.popen时,您都会产生一个新流程。尝试打开两个cmd.exe个会话,在另一个会话中运行chcp 65001,在另一个会话中运行chcp - 这就是您在Python代码中所做的事情。

需要注意的一点是:从Python 2.6开始,所有[popen*()][1]调用都被折旧。要使用的新模块是subprocess模块。