博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python基础-包
阅读量:4966 次
发布时间:2019-06-12

本文共 562 字,大约阅读时间需要 1 分钟。

一个文件夹管理多个模块文件,这个文件夹就被称为包,实际上这个文件夹不算真正的包,在该文件夹下应该有一个__init__.py的文件,作用就是把这个文件夹初始化成包

os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
os.path.dirname(__file__)是打印当前被执行的模块.py文件相对路径,
os.path.abspath(__file__)是打印当前被执行的模块.py文件绝对路径, 在涉及到相对导入时,package所对应的文件夹必须正确的被python解释器视作package,而不是普通文件夹。否则由于不被视作package, 无法利用package之间的嵌套关系实现python中包的相对导入。

文件夹被python解释器视作package需要满足两个条件:

  1. 文件夹中必须有__init__.py文件,该文件可以为空,但必须存在该文件。
  2. 不能作为顶层模块来执行该文件夹中的py文件(即不能作为主函数的入口)。
虽然python支持相对导入,但对模块间的路径关系要求比较严格,处理不当就容易出错,所以并不建议在项目里经常使用。

转载于:https://www.cnblogs.com/xudachen/p/8465554.html

你可能感兴趣的文章
iOS7自定义statusbar和navigationbar的若干问题
查看>>
[Locked] Wiggle Sort
查看>>
deque
查看>>
Setting up a Passive FTP Server in Windows Azure VM(ReplyCode: 227, Entering Passive Mode )
查看>>
Python模块调用
查看>>
委托的调用
查看>>
c#中从string数组转换到int数组
查看>>
数据模型(LP32 ILP32 LP64 LLP64 ILP64 )
查看>>
java小技巧
查看>>
POJ 3204 Ikki's Story I - Road Reconstruction
查看>>
【BZOJ】2959: 长跑(lct+缩点)(暂时弃坑)
查看>>
iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?
查看>>
toad for oracle中文显示乱码
查看>>
SQL中Group By的使用
查看>>
错误org/aopalliance/intercept/MethodInterceptor解决方法
查看>>
【设计模式】工厂模式
查看>>
两个表格中数据不用是一一对应关系--来筛选不同数据,或者相同数据
查看>>
客户数据库出现大量cache buffer chains latch
查看>>
機械の総合病院 [MISSION LEVEL: C]
查看>>
实战练习细节(分行/拼接字符串/字符串转int/weak和copy)
查看>>