【发布时间】:2015-01-15 12:27:48
【问题描述】:
我正在尝试通过 python 代码运行命令echo hej värld(瑞典语为“hello world”)。
到目前为止我已经测试过:
# -*- coding: utf-8 -*-
import subprocess
print subprocess.check_output("Echo hej värld", shell = True)
和
# -*- coding: utf-8 -*-
import os
os.system("Echo hej värld")
两个版本都返回hej värld
如果我只是在 CMD 提示符中键入命令,它会返回正确的版本,使用 ä。
【问题讨论】:
-
适用于 Linux (Python 2.7.3)。两个版本,
Echo更改为echo。我的猜测是 Windows 的命令行不使用 utf-8 编码。 -
即使我在运行命令之前使用
chcp 65001(即 utf-8)更改了 cmd 编码,我似乎仍然无法打印 å ä ö。现在它返回hej värld。 -
您尝试编码为 windows-1250 还是 windows-1252?
-
@user3012759 运气不好:/
标签: python cmd subprocess