【问题标题】:How can I change windows codepage in python?如何在 python 中更改 Windows 代码页?
【发布时间】:2010-08-26 16:29:54
【问题描述】:
>>> 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 代码工作?

【问题讨论】:

  • 您为什么要尝试更改 python 中的代码页而不是使用string encodings

标签: python codepages


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2021-09-21
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 2012-09-11
    • 2018-07-23
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多