如何在Python程序中自动设置控制台代码页为65001?
如何在Python中自动设置控制台代码页为65001?
当然可以实现!每次运行Python程序时自动把控制台代码页改成65001(也就是UTF-8编码),有几种简单靠谱的方法,我给你一步步讲清楚:
方法一:用os.system快速执行命令
这是最直接的方式,和你在命令提示符里敲chcp 65001的效果完全一样。我们可以在程序最开头加上这段代码,还能通过> nul屏蔽命令的输出信息,让控制台更干净:
import os # 启动时静默设置UTF-8代码页 os.system('chcp 65001 > nul') # 接下来写你的业务逻辑 print("现在控制台支持UTF-8了,随便输出中文、特殊字符都没问题~")
方法二:用subprocess模块(更推荐)
如果你想更灵活地控制命令执行的细节(比如捕获输出、处理错误),subprocess比os.system更专业。同样可以静默执行命令,避免多余输出:
import subprocess # 静默执行代码页设置命令 subprocess.run( ['chcp', '65001'], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, shell=True ) print("UTF-8代码页已成功设置!")
跨平台兼容小技巧
要注意chcp是Windows系统特有的命令,如果你的程序需要在Linux或macOS上运行,最好加个系统判断,避免报错:
import os import subprocess if os.name == 'nt': # 仅在Windows系统下执行代码页设置 subprocess.run( ['chcp', '65001'], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, shell=True ) print("跨平台友好的代码页设置完成😎")
最后提个小细节:有时候设置完代码页后,控制台字体可能不支持某些UTF-8字符,这时候你可以手动把控制台字体改成Consolas或者Lucida Console,就能正常显示所有字符啦~
内容的提问来源于stack exchange,提问作者AxeSkull
相关产品推荐
相关产品推荐

