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调用上级目录的模块
原创
©著作权归作者所有:来自51CTO博客作者wx5daffea576ed3的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
python怎么快捷引入报错的包
python报错及处理方法
Python 示例代码 自动安装 -
【debug】常见的问题,怎么引用上一层目录
x的不同,有两种解决方法。
python 悬停 解决方法