我正在尝试将许多其他文件导入另一个python文件,但是由于某种原因,它找不到python文件。我查看了许多问题和答案,并尝试遵循它们,但是我仍然没有运气。
目录看起来像这样
my_dir/
one_dir/
_init_.py
script_1.py
parse_lib/
_init_.py
hi.py
(这里我正在运行script_1.py)
import os, sys, re
import subprocess
import multiprocessing as mp
curpath = os.getcwd()
curdir = os.path.dirname(curpath)
newdir = os.path.join(curdir,"/parse_lib")
sys.path.append(newdir)
print(newdir)
import hi
ImportError:没有名为hi的模块
要添加:我不是从文件所在的目录运行python文件,就像我从完全不同的目录而不是my_dir / one_dir运行该文件一样
答案 0 :(得分:1)
此:
os.path.join(curdir, "/parse_lib")
..给您"/parse_lib"
。了解为什么here。
您正在寻找的是:
os.path.join(curdir, "parse_lib")
...因为parse_lib
文件夹不在系统(/
)的根目录中。
答案 1 :(得分:0)
按照罗南的回答,我找到了解决方法。
我没有拉文件的目录,而是拉了工作目录。解决方法如下:
curdir = os.path.dirname(__file__)
curdir1 = os.path.dirname(curdir)
newdir = os.path.join(curdir1,"parse_lib")
sys.path.append(newdir)