python引用其他文件提示找不到模块_Python子包引用父包下文件

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)

具体运行如下图:

9187e5d201a6e3d20524bee195844818.jpg

问题:

这个提前知道当前文件名,有个弊端,Python如何获得当前工作的文件名?或者说是不是还有其他解决办法,望相告,可以再下面留言,刚接触Python。

学习:共同学习,共同分享,共同进步的过程

来自Davids zhou博客原创文章请尊重作者:http://www.zongk.com/zongk/97.html转载请标注此链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值