如何在Python中更改Windows代码页?

2 投票
1 回答
2430 浏览
提问于 2025-04-16 03:20

考虑一下:

>>> 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 个回答

3

原因是每次你调用 os.popen 时,都会新开一个进程。你可以试着打开两个 cmd.exe 窗口,在一个窗口里运行 chcp 65001,在另一个窗口里运行 chcp,这就和你在 Python 代码里做的事情一样。

需要注意的是:所有的 popen*() 调用在 Python 2.6 之后就不推荐使用了。现在应该使用的是 subprocess 模块。

撰写回答