本文介绍几种在Python项目中获取文件(目录)绝对路径的方法。
1、背景介始
在项目demo中有文件url.txt和action.py,现在要获取url.txt的绝对路径并读取文件。
结构如下:
PS D:\workspace\code-python\demo> ls
目录: D:\workspace\code-python\demo
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2021/01/11 14:29 1040 action.py
-a---- 2021/01/11 10:22 51 url.txt
工作目录:
PS D:\workspace\code-python> pwd
Path
----
D:\workspace\code-python
2、获取文件路径
方法1
import os
if __name__ == "__main__":
print(os.path.dirname(__file__) + '/url.txt')
# 输出:d:/workspace/code-python/demo/url.txt
方法2
import os
if __name__ == "__main__":
print(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'url.txt'))
# 输出:d:\workspace\code-python\demo\url.txt
方法3
import os
if __name__ == "__main__":
print(os.path.join(os.path.abspath(os.path.dirname(__file__)), 'url.txt'))
# 输出:d:\workspace\code-python\demo\url.txt
方法4
from pathlib import Path
import os
if __name__ == "__main__":
print(os.path.join(Path(__file__).parent, 'url.txt'))
# 输出:d:\workspace\code-python\demo\url.txt
# 需要 Python >= 3.4