import
上一级目录的模块(Python)
python
中,import module
会去sys.path
搜索,sys.path
是个列表,并且我们可以动态修改。
要import
某个目录的module
,我们sys.path.insert(0,somedir)
来加入搜索路径,就可以import
了。
既然这样,要import
上一级目录的module
,可以sys.path.insert(0,parentdir)
。
不过这种写绝对路径的方式,如果文件放到其它地方,就不行了。
所以用动态方法来获取上一级目录。
import os,sys
parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0,parentdir)
为什么用sys.path.insert(0,parentdir)
而不是用sys.path.append(parentdir)
呢
因为是遍历搜索路径的,所以如果在其它路径里也有个同名的module
,会import
错。用sys.path.insert(0,parentdir)
可以确保先搜索这个路径。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/2148.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...