python子包引用父包下文件
Python引用模块使用:
1、import ***
2、from *** import ***
3、import ***.***
4、import *** as ***
等的几种方法,但是有一点如果同一个包下的子包引用父包的文件应该如何处理?
最近在看flask web开发的内容,在自己根据理解实践的时候想在子包内引用父包中的config.py文件,按照import怎么搞都是提示错误,百度了一下解决办法,可以将上级的工作目录添加进模块的搜索列表中。
方法比较笨一点,解决思路,获得当前文件所在目录,将当前目录名替换掉,得到主包路径添加进模块搜索路径内。具体实施代码:
#coding:utf-8
import sys,os
#这条可以忽略开始
print(os.path.dirname(os.path.realpath(__file__)))
#这条可以忽略结束(os.path.realpath:获得文件路径名包含文件名,os.path.dirname:返回文件所在的目录去掉文件名)
configpath = os.getcwd().replace('\\func','')
#os.getcwd获得当前工作的目录不包含文件名,等效上面代码运行结果
sys.path.append(configpath)
#将得到的主包路径添加进模块搜索路径内
import config
#在引用config文件
print(config.dbname)
具体运行如下图:
问题:
这个提前知道当前文件名,有个弊端,Python如何获得当前工作的文件名?或者说是不是还有其他解决办法,望相告,可以再下面留言,刚接触Python。
学习:共同学习,共同分享,共同进步的过程
来自Davids zhou博客原创文章请尊重作者:http://www.zongk.com/zongk/97.html转载请标注此链接
Davids zhou | 站点地图 | | | 皖ICP备14017762号 如有侵犯您权利点击上面QQ -Powered By 帝国CMS -davids.zhou#qq.com(#换@)
Davidszhou个人博客主要记录在网站建设、SEO优化、python开发、PHP开发中遇到问题记录保存,作为他人参考学习教程