Python中的相对路径

Python中的相对路径,第1张

Python中的相对路径

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

import osdirname = 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.pyimport osprint os.getcwd()print __file__#in the interactive interpreter>>> import foo/Users/jasonfoo.py#and finally, at the shell:~ % python foo.py/Users/jasonfoo.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计算机上引发了异常。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5620644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存