Python获取当前文件路径

Python获取当前文件路径的几种方式。
os.getcwd()与os.path.dirname()的区别。


os.path.dirname

os.path.dirname(file)输出的是被执行的当前文件的相对目录。

文件 foo.py内容如下

import os
d = os.path.dirname(__file__)
print(d)

python foo.py输出结果是空字符串
python ./foo.py输出结果是.
python /home/molock/foo.py输出结果是/home/molock

os.path.abspath

os.path.abspath(file)输出的是被执行的当前文件的绝对路径,包括文件名。
文件 bar.py内容如下:

import os
d = os.path.abspath(__file__)
print(d)

python bar.py输出结果是/home/molock/bar.py

os.getcwd

os.getcwd()返回当前文件所在目录,不包括文件名,后面也没有/

os.getcwd()返回的是命令行在解释器运行时的路径;
os.path.dirname()是被执行的代码的路径

print(os.getcwd())
file_path = os.path.join(os.path.dirname(__file__), 'user_agent.txt')