【问题标题】:UnicodeError when importing python file导入python文件时出现UnicodeError
【发布时间】:2020-08-06 07:10:51
【问题描述】:

我正在尝试将 python 文件 Sonderbuch_BASECASE_3ph.py 导入另一个 python 文件 test.pytest.py 位于主目录 foo 中,而 Sonderbuch_BASECASE_3ph.py 位于子目录 grid_data 中。

Sonderbuch_BASECASE_3ph.py 有一个同名函数,我也需要导入:

# Sonderbuch_BASECASE_3ph
from numpy import array
def Sonderbuch_BASECASE_3ph():
    .....

这两种导入尝试都会导致SyntaxError

from grid_data import Sonderbuch_BASECASE_3ph
import grid_data.Sonderbuch_BASECASE_3ph

输出:

Traceback (most recent call last):
  File "C:/Users/Artur/Desktop/foo/test.py", line 1, in <module>
    from grid_data import Sonderbuch_BASECASE_3ph
  File "C:\Users\Artur\Desktop\foo\grid_data\Sonderbuch_BASECASE_3ph.py", line 1550
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xe4 in position 29: invalid continuation byte

编辑:

文件的编码好像是windows-1252,至少pycharm是这么提议的。但是,在windows-1252 中解码文件并不能解决 ErrorMsg。 Sonderbuch_BASECASE_3hp.py 只是一个字典的存储文件。我希望我可以直接导入它。

所有编码似乎都不起作用。

【问题讨论】:

    标签: python import pycharm


    【解决方案1】:

    您的 Sonderbuch_BASECASE_3ph.py 文件中究竟有什么内容?

    我猜这些文件使用不同的编码,因此将一个文件导入另一个文件可能会导致错误。我的猜测是你的 test.py 是 UTF-8 而另一个文件是用 latin-1 或类似的东西编码的。检查文件的编码是什么(您可以在 PyCharm、Sublime、Notepad++ 等中进行)。在 Pycharm 中,您可以在右下角看到文件的编码(默认情况下)。

    【讨论】:

    • 我试过改变编码。请参阅编辑部分。
    • 嗯,我只是将文件内容复制到另一个克隆python文件中,解决了编码问题。
    • 很高兴听到这个消息!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多