我是python的新手 我试图将一些中文字打印到命令行窗口10和文件但是遇到了问题:
这是我的代码:
fh = open("hello.txt", "w")
str="欢迎大家加入自由职业者群体。谢谢大家"
print(str)
fh.write(str)
fh.close()
答案 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字体。
答案 2 :(得分:0)
对我来说,在命令行中更改字体是可行的。
系统:Windows 10
起作用的字体:NSimSun