导入Python模块时遇到问题

导入Python模块时遇到问题,python,Python,我是Python新手,从其他目录导入时遇到问题 我当前所在的文件的路径为home/pi/example.py 我试图导入到此文件的模块的路径为home/pi/ReactiveEngine/src/PiEngine.py 我尝试了以下方法: import sys sys.path.append('home/pi/ReactiveEngine/src') import sys.PiEngine.py 但它说没有名为PiEngine.py的模块 有人能告诉我我做错了什么吗 导入时,不要添加后缀.py

我是Python新手,从其他目录导入时遇到问题

我当前所在的文件的路径为home/pi/example.py

我试图导入到此文件的模块的路径为home/pi/ReactiveEngine/src/PiEngine.py

我尝试了以下方法:

import sys
sys.path.append('home/pi/ReactiveEngine/src')
import sys.PiEngine.py
但它说没有名为PiEngine.py的模块


有人能告诉我我做错了什么吗

导入时,不要添加后缀
.py
。只需执行以下操作:

import sys
sys.path.append('home/pi/ReactiveEngine/src')
import sys.PiEngine
import os
os.chdir('home/pi/ReactiveEngine/src')
import PiEngine
它应该在没有
.py
的情况下工作,因为您只能导入
.py
文件,因此后缀是多余的

或者正如Louis在下面所说的,您可以使用以下选项:

import sys
sys.path.append('home/pi/ReactiveEngine/src')
import sys.PiEngine
import os
os.chdir('home/pi/ReactiveEngine/src')
import PiEngine
或者:

import os
os.chdir('home/pi/ReactiveEngine/src')
import PiEngine
那应该能解决你的问题

您需要:

import piEngine
如果您的模块名为piEngine.py

此外,我建议对
sys.path.append()
使用绝对路径,假设您的模块位于~/home/pi/ReactiveEngine/src中:

import os
sys.path.append(os.path.expanduser('~/home/pi/ReativeEngine/src'))
import piEngine

只需导入PiEngine!不需要sys.Piengine.py我刚刚试过,现在它说没有名为pienginec的模块检查我下面的答案,我在我的机器上测试了一下,它成功了。:)比你快了一秒钟,我不确定我做错了什么。我已经尝试了您的所有建议,但它总是以“没有名为PiEngine的模块”的形式出现。我在命令行中使用了readlink-f PiEngine.py,以确保文件路径正确,并且看起来像是正确的。有人知道为什么会这样吗?