不说废话,直接上示例结构图

Path.py内容如下:

import os

path1 = os.path.dirname(os.path.abspath(__file__))
path2 = os.path.abspath(__package__)
path3 = os.path.dirname(os.path.abspath(__name__)) if __name__ == "__main__":
print(path1)
print(path2)
print(path3)

运行Path.py结果如下:

TestPath.py内容如下:

from package1.Path import path1, path2, path3

if __name__ == '__main__':
print(path1)
print(path2)
print(path3)

运行TestPath.py结果如下:

结论

  • 使用os.path获取__file__的路径,始终是获得的初始文件的路径。
  • 使用os.path获取__package__的路径,获得的是初始文件被引用现状的路径。

\package2\package1 表示package1被引用到了package2里面。

  • 使用os.path获取__name__的路径,则获得的是引用文件的路径。

最新文章

  1. PHP中的魔术方法(2)
  2. MySQL Replication需要注意的问题
  3. 传感器之超声波测距HC-SR04
  4. 用ajax动态获取数据显示在highcharts上
  5. [转]十步完全理解SQL
  6. High购电商系统开发注意点
  7. BZOJ4620: [Wf2016]What Really Happened on Mars?
  8. yourphp读取分类名称{$Categorys[$r[catid]]['catname']}
  9. 免费的网络扫描器-Advanced IP Scanner
  10. Word Ladder 未完成
  11. 学点css基础
  12. eclipse lint工具介绍
  13. Web开发之RSET API
  14. PHP根据身份证号码验证、获取星座、生肖和性别函数
  15. vb.net 操作xml
  16. 【Zookeeper】源码分析之持久化--FileTxnLog
  17. 【BZOJ1834】网络扩容(最大流,费用流)
  18. Go 语言指针
  19. Struts自动装配和四种放入Session作用域的方式
  20. [十一]基础数据类型之Character

热门文章

  1. Python3基础(三) 运算符
  2. 从基于 SQL 的 CURD 操作转移到基于语义 Web 的 CURD 操作
  3. IT痴汉的工作现状22-由Dalvik虚拟机引发的口水战
  4. 让ListView回来原来的位置
  5. pandas删除满足特定列信息的行记录
  6. 关于pycharm中pip版本10.0无法使用的解决办法
  7. PCB genesis加尾孔实现方法
  8. bzoj4563: [Haoi2016]放棋子(错排+高精)
  9. 多个@bean无法通过@resource注入对应的bean(org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'javax.sql.DataSource' available: expected single matching bean but found )
  10. 数据库部署到linux服务器,供本地访问。