从每个Python文件快速得到项目根目录的绝对路径

路径问题

开发程序时,如果写死各类资源文件的路径,那么如果部署环境中的路径和开发环境不同,程序就无法正确工作。

为了解决这个问题,需要动态获取程序中各类资源的绝对路径。一般资源文件是放在项目根目录下的一些子目录中的。

因此,只要能够动态得到项目根目录的绝对路径,就能准确定位各类资源文件。

这样写出来的程序,不论部署在哪里都能正常工作,也就是通常说的“绿色软件”,解压即可正确工作。

本文要介绍的,是利用Python的宏解决这一问题的方法。

 

计算程序绝对路径的方法

我八年前写过一篇文章《Python怎样得到资源文件的绝对路径》,该文中,我使用的方法,是得到可执行程序的绝对路径,进而动态计算出项目的根目录。

 

ABSPATH=None

if name == 'main':

  ABSPATH=os.path.abspath(sys.argv[0])

  ABSPATH=os.path.dirname(ABSPATH)

  print ABSPATH

 

通过拿到第一个参数的绝对路径,我们就知道了程序所在的绝对路径,我们就能够使用ABSPATH这个全局变量组装出 我们源码目录下的任意一个文件的绝对路径了!

文件宏的方法

今天要介绍的是利用Python的宏来动态计算出项目的根目录的方法。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值