我正在尝试将python文件Sonderbuch_BASECASE_3ph.py
导入另一个python文件test.py
。 test.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
只是字典的存储文件。我希望可以导入它。
似乎都没有一种编码。
答案 0 :(得分:1)
您的Sonderbuch_BASECASE_3ph.py
文件中到底包含什么?
我猜这些文件使用不同的编码,因此将文件导入到另一个文件可能会导致错误。我的猜测是您的test.py
使用的是UTF-8,而另一个文件则使用latin-1或类似的编码。检查文件的编码(您可以在PyCharm,Sublime,Notepad ++等中进行编码)。在Pycharm中,您可以在右下角看到文件的编码(默认情况下)。