Python导入自定义模块出错
前言:参加比赛,使用notebook导入自定义模块一直出错,之前也遇到过类似的问题,一直没有仔细思考,防止遗忘,在此记录一下。
错误原因:执行文件和导入的模块不在同一目录
了解模块的搜索顺序:导入模块不是内建模块就在sys.path里面寻找
可以看到搜索路径并没有 ‘/home/tione/notebook/TransU’
sys.path.append(‘/home/tione/notebook/TransU’)
发现还是出错:no Module named TransU,后来发现是当前执行文件路径的问题
os.getcwd() # 获取当前工作路径
os.chdir('/home/tione/notebook') # 切换当前工作路径
from TransU.dataloader import get_loader
就不会报错了