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/test/foo.py输出结果是/home/test

os.path.abspath

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

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

python bar.py输出结果是/home/test/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')