使用python编写中文命令行窗口

时间:2017-04-25 15:25:48

标签: python unicode cmd

我是python的新手 我试图将一些中文字打印到命令行窗口10和文件但是遇到了问题:

Error messages

这是我的代码:

fh = open("hello.txt", "w") 
str="欢迎大家加入自由职业者群体。谢谢大家"
print(str)
fh.write(str) 
fh.close()

3 个答案:

答案 0 :(得分:0)

几个问题:

在fh变量声明之后不应该是一个标识。你不应该命名一个字符串" str"因为那是一个内置功能。如果你想使用拉丁字母以外的字符,你需要声明你是这样使用UTF-8:# -*- coding: utf-8 -*-(把它放在你文件的顶部)。然后它应该工作。虽然终端确实有外国人的问题。

# -*- coding: utf-8 -*-

fh = open("hello.txt", "w")
str1="欢迎大家加入自由职业者群体。谢谢大家"
print(str1)
fh.write(str1)
fh.close()

修改

官方解决方案是,使用PyCharm!

答案 1 :(得分:0)

文件的默认编码为locale.getpreferredencoding(False),在您的系统上似乎为cp1252。打开文件时指定编码。

同样使用with,当文件退出块时,文件将会关闭:

#!python3.6
with open('hello.txt','w',encoding='utf8') as fh:
    str="欢迎大家加入自由职业者群体。谢谢大家"
    print(str)
    fh.write(str) 

要在控制台上查看中文字符,您需要安装中文语言包,并将控制台字体更改为支持中文的字体。使用支持UTF-8的IDE也可以使用。 "盒装问号"字符是字体不支持字符时显示的字符。如果将这些字符剪切粘贴到记事本等支持中文字体的应用程序,则应该看到正确的字符。

这是我的带有中文语言包的美国Windows系统。控制台配置了SimHei字体。

enter image description here

答案 2 :(得分:0)

对我来说,在命令行中更改字体是可行的。
系统:Windows 10
起作用的字体:NSimSun