python中相对路径怎么写_Python中的相对路径

小编典典

在具有脚本的文件中,你想要执行以下操作:

import os

dirname = os.path.dirname(__file__)

filename = os.path.join(dirname, 'relative/path/to/file/you/want')

这将为你提供要查找的文件的绝对路径。请注意,如果你使用的是setuptools,则应该改用其包资源API。

更新:我在这里回应评论,所以我可以粘贴代码示例。:-)

我是否认为__file__并非总是可用(例如,当你直接运行文件而不是导入文件时)?

__main__当你提到直接运行文件时,我假设你的意思是脚本。如果是这样,在我的系统上似乎不是这种情况(在OS X 10.5.7上为python 2.5.1):

#foo.py

import os

print os.getcwd()

print __file__

#in the interactive interpreter

>>> import foo

/Users/jason

foo.py

#and finally, at the shell:

~ % python foo.py

/Users/jason

foo.py

但是,我确实知道__file__在C扩展上有一些古怪之处。例如,我可以在Mac上执行此操作:

>>> import collections #note that collections is a C extension in Python 2.5

>>> collections.__file__

'/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-

dynload/collections.so'

但是,这在Windows计算机上引发了异常。

2020-02-19

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值