尝试将许多python文件导入另一个

时间:2019-07-09 17:46:13

标签: python-3.x import

我正在尝试将许多其他文件导入另一个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运行该文件一样

2 个答案:

答案 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)