2010-07-19 64 views
22

如果我有一个文件test.py驻留在某个目录中,我怎么能从test.py找到它在哪个目录? os.path.curdir将提供当前目录,但不会提供文件所在的目录。如果我从某个目录“foo”调用test.py,os.curdir将返回foo而不是test.py的路径。找到Python的文件的绝对路径

谢谢。

回答

17

的答案是使用:

__file__ 

返回一个相对路径。

os.path.abspath(__file__) 

可用于获取完整路径。

0

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

特别,你想:

os.path.abspath 
28

下面是如何获得当前文件的目录:

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

这是正确的答案,应该标记为这样。 – catalyst294 2017-08-02 19:40:31

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

的答案至今正确地指出你os.path.abspath,这不正是你要求的工作。但是,不要忘记,在很多情况下,os.path.normpathos.path.realpath在这类任务中也可能非常有用(分别标准化表示和删除符号链接)(无论您的特定用例属于这些“很多”从我们拥有的缺乏信息当然;-)。