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

标签 python unicode cmd

我是Python新手 我正在尝试将一些中文单词打印到命令行 Windows 10 和文件,但遇到了问题:

Error messages

这是我的代码:

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

最佳答案

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

同时使用with,文件退出 block 时将为您关闭:

#!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

关于python - 使用python编写中文命令行窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43614909/

相关文章:

windows - 使用 CMD *Windows* 将文件夹上传到 Onedrive

python - 如何修复 Random 产生的值?

python - Python 就地运算符函数与标准运算符函数有何不同?

python - 虹膜上随机均匀分布

windows - 合并 csv 会破坏变音字符

vim - "Last modified"标题或状态行中的时间

python - 使用melt重构Dataframe时出现KeyError

java - NFC 规范化语义在 Java 6 和 7 之间是否发生了变化?

c++ - 在 ICU4C 中获取 UChar 的十六进制值

c - freetype (C) 的 Unicode 问题