导入python文件时出现UnicodeError

时间:2020-08-06 07:10:51

标签: python import pycharm

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

enter image description here

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只是字典的存储文件。我希望可以导入它。

enter image description here

似乎都没有一种编码。

1 个答案:

答案 0 :(得分:1)

您的Sonderbuch_BASECASE_3ph.py文件中到底包含什么?

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