project/
main.py
module1/
__init__.py
file1.py
module2/
__init__.py
file2.py
假设我们在一个文件夹下自定义了一个文件函数,然后在位于另一个文件夹的文件中,我们想想要import这个函数。例如,我们想要在file2.py
中导入file1.py
。
有两种方法:
1. sys
用sys,将module1的目标路径添加至python路径:
import sys
sys.path.append("module1")
import file1
也可以用os将路径转为绝对路径,避免出现其他问题:
import sys
import os
path = os.path.abspath("module1")
sys.path.append(path)
import file1
这里注意,必须先添加路径,之后再导入file1!
如果把import file1
提前的话,编译的时候还是会找不到路径。
2. 环境变量
也可以新增环境变量,PYTHONPATH。
效果和第一种方法一样。
export PYTHONPATH="module1:module2"
参考:
What to do to import files from a different folder in Python?