python调用上级目录的模块

python在同级导入模块时,直接使用import即可。
在导入下级模块时,可以使用from dirname  import  XXX。

而在导入上级模块时,则需要先得到上级目录的路径,需要用sys模块。
将上级目录通过sys.path.append(xxx)给变量,再导入模块。

而上级目录需要获取,最简单的办法就是直接获取根目录。
此处动态获取绝对路径,如果把路径写死了,换一台机器就容易出错。

先导入os模块
os.path.abspath(__file__),获取本文件的绝对路径,得到的是包含本文件名的路径,用os.path.dirname(os.path.abspath(__file__))就可以获得本文件的父目录(不包含文件名),
如果这还不是根目录,可以将已经获得的父目录再获取一遍路径,直到根目录。

例如:
BASE_DIR = os.path.dirname(os.path.abspath(os.path.dirname(os.path.abspath(__file__))))
得到的就是初始文件的父目录的父目录。
再用sys模块
sys.path.append(BASE_DIR)
接下来就可以使用父目录同级的目录下的模块了。
from dirname import XXX就可以调用了

标题名称:python调用上级目录的模块
当前路径:http://scyanting.com/article/pjeeih.html