8

[使用 Python 3.2]

如果我不向 提供encoding参数open,则使用 . 打开文件locale.getpreferredencoding()。因此,例如,在我的 Windows 机器上,任何时候我使用open('abc.txt'). 都会使用cp1252.

我想将所有输入文件切换到utf-8. 显然,我可以添加encoding = 'utf-8'到我所有的open函数调用中。或者,更好encoding = MY_PROJECT_DEFAULT_ENCODING的是,常数是在全局级别的某个地方定义的。

但我想知道是否有一种干净的方法可以open通过更改“默认”编码来避免编辑我的所有调用。我可以通过更改语言环境来更改吗?或者通过更改语言环境中的参数?我试图按照 Python 手册进行操作,但无法理解应该如何使用它。

谢谢!

4

1 回答 1

3

在 Windows 中,使用 Python 3.3+,chcp 65001在运行 Python 之前在控制台或批处理文件中执行,以便将语言环境编码更改为 UTF-8。

于 2012-07-17T05:49:05.287 回答