从Python获取文件的绝对路径

30 投票
5 回答
22172 浏览
提问于 2025-04-16 01:31

如果我有一个文件 test.py,它在某个文件夹里,我怎么才能从 test.py 里找到它所在的文件夹呢?使用 os.path.curdir 可以得到当前的文件夹,但不能得到 test.py 所在的文件夹。如果我从一个叫 foo 的文件夹里运行 test.py,那么 os.curdir 会返回 foo,而不是 test.py 的路径。

谢谢。

5 个回答

5

到目前为止,大家的回答都正确地提到了 os.path.abspath,这个函数正好能完成你想要的工作。不过别忘了,os.path.normpathos.path.realpath 在这类任务中也非常有用(前者可以规范化路径的表示,后者可以去掉符号链接)。在很多情况下,这两个函数都能派上用场(当然,是否适合你的具体需求,我们从你提供的信息中是无法判断的;-)。

53

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

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

答案是使用:

 __file__

这个会返回一个相对路径。

os.path.abspath(__file__) 

可以用来获取完整路径。

撰写回答