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其它级目录的文件可以以此类推。

本文介绍了在Linux系统中,Python如何通过修改sys.path来import上一级目录的文件。通过添加代码sys.path.append(os.path.abspath(os.path.join(__file__,....))),可以将上级目录的绝对路径添加到模块搜索路径,从而实现导入。该方法适用于需要导入不同层级目录文件的场景。

被折叠的 条评论
为什么被折叠?



