【发布时间】:2018-07-03 13:02:44
【问题描述】:
我正在尝试运行一个发出 Unicode 输出的命令,并将该输出打印到 shell。
我的代码类似于以下代码(CP850,因为这是我的 Windows 终端使用的代码页,由 chcp 返回):
command = 'echo Тестирование всегда необходимо!'
p = Popen(command, shell=True, stdin=PIPE, stdout=PIPE, stderr=PIPE, universal_newlines=True)
out, err = p.communicate()
out = out.decode('CP850')
err = err.decode('CP850')
print(out)
我得到:?????????? ?????? ??????????!
我怎样才能使正确的文本通过?
【问题讨论】:
-
我在 Howto 中找不到任何关于 Stdin/Stdout 或管道的信息。
-
CP850 不是 Unicode。如果你有一个支持 Unicode 的终端(和字体),CP850 就没有任何理由参与任何地方。
标签: python shell communication