从Python中查找文件的绝对路径

30
如果我有一个名为test.py的文件存储在某个目录中,我该如何从test.py中找出它所在的目录?使用os.path.curdir可以获得当前目录,但不能获得文件所在的目录。如果我从某个目录foo调用test.pyos.curdir会返回foo,但不是test.py的路径。
谢谢。
5个回答

53

获取当前文件所在目录的方法如下:

import os
os.path.abspath(os.path.dirname(__file__))

2
这是正确的答案,应该标记为正确的。 - catalyst294

25

答案是使用:

 __file__

它返回相对路径。

os.path.abspath(__file__) 

可以用来获取完整路径。


5
到目前为止,回答都正确地引导您使用os.path.abspath,它完全可以完成您请求的工作。但是不要忘记,在许多情况下(当然,从我们所拥有的有限信息来看,您特定的用例是否属于这些“许多”情况是无法确定的),os.path.normpathos.path.realpath也可能非常有用(分别用于规范表示和删除符号链接)。

2
import os
dirname, filename = os.path.split(os.path.abspath(__file__))

0

os.path有很多工具来处理路径和获取路径信息。

特别是,您需要:

os.path.abspath

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接