通过运行在PyCharm 2016.3.2中的Python 3.6脚本打开UTF8编码的文件

2024-03-29 10:14:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我对PyCharm和我正在开发的Python应用程序有一个相当奇怪的问题。在

  • Pycharm是Pycharm社区版2016.3.2
  • 项目解释器为:3.6.0
  • 奥斯是马科斯塞拉

由于我已经在谷歌上搜索了一段时间的解决方案,没有任何建议的帮助我想问这里。在

我要使用以下代码打开UTF-8编码的文件:

#!/usr/bin/env python3    

import os, platform

def read(file):
    f = open(file, "r")
    content = f.read()
    f.close()
    return content

print(platform.python_version())
print(os.environ["PYTHONIOENCODING"])

content = read("testfile")
print(content)

代码在PyCharm中运行时崩溃。输出是

^{pr2}$

当我从命令行运行相同的代码时,它可以正常工作:

./file.py 
3.6.0
utf-8:surrogateescape
I am a file with evil unicode characters: äöü

我发现,在可比较的情况下,建议人们将环境变量PYTHONIOENCODING设置为utf-8:surrogateescape,这是我在系统范围内所做的(如您在上面的输出中所见)

export PYTHONIOENCODING=utf-8:surrogateescape

但在PyCharm本身(设置->构建->控制台->Python控制台->环境变量)。在

这没有任何效果。你还有进一步的建议吗?在


Tags: 代码应用程序reados环境变量content建议utf
2条回答

如果要读取UTF8文件,请指定编码:

def read(file):
    with open(file, encoding='utf8') as f:
        content = f.read()

如果更难更改打开调用的编码,即它发生在库中,您可以在运行配置中更改此环境变量:LC_CTYPE=en_US.UTF-8

资料来源: PyCharm is changing the default encoding in my Django app

相关问题 更多 >