Linux系统中,python需要import上一级目录文件的解决办法
在import前添加代码:
import sys
import os
sys.path.append(os.path.abspath(os.path.join(__file__, "..", "..")))
下面我们来对 sys.path.append(os.path.abspath(os.path.join(__file__, "..", "..")))
这个命令进行解析:
- 首先,
(os.path.join(__file__, "..", "..")
的输出会是 filename/. ./. .。 - 而后,
os.path.abspath
会对其进行解析,解析顺序从左到右,先找到filename的绝对路径。(A/B/C/filename);而后看到..
,便会得到filename所在目录的绝对路径(A/B/C);而后又看到了一个..
,就会得到filename所在的上级目录的绝对路径(A/B) (Tips:Linux系统中..
指上级目录) - 最后,
sys.path.append
会把路径添加到系统的环境变量,或把该路径的文件夹放进已经添加到系统环境变量的路径内。环境变量的内容会自动添加到模块搜索路径中。 - 通过这种方式,我们的python文件也能够import上级目录中的文件了。
- 此外,想要import其它级目录的文件可以以此类推。