一: os.path.dirname(file)和os.getcwd()
import os
path = os.path.dirname(__file__)
print("os.path.dirname(__file__)方法的结果{}".format(path))
path = os.getcwd()
print("os.getcwd()方法的结果{}".format(path))
该脚本路径为:/User/xxx/Work

1.在当前目录 /User/xxx/ Work运行程序结果:

2.在上一级目录 /User/xxx 运行程序:

3.在其他目录 /User/xxx/Work/python 运行程序:
\
在其他目录 /User/xxx/tools 运行程序:

结论:
os.path.dirname(file):获取的是程序路径的文件/目录的名称(如果在程序本身位置则为空,否则一直指向程序的文件/目录路径)
os.getcwd():获取的是当前运行程序的文件/目录路径(不管程序放在哪,你在哪运行都是获取此时的路径)
**二:os.path.abspath(file) **获取程序的绝对路径
import os
path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print("结果:{}".format(path))
当前程序目录运行结果:

import os
path = os.path.dirname(os.path.abspath(__file__))
print("结果:{}".format(path))
当前程序目录运行结果:

其他目录运行:

import os
path = os.path.abspath(__file__)
print("结果:{}".format(path))
当前程序目录运行结果:

其他目录运行:

总结:
os.path.abspath(file):不论在哪运行都是获取程序的绝对路径。
因为最开始使用有点懵逼,所以写清楚各个情况下的运行结果,更好的理解该方法。
推荐:
os.path.abspath(file)与os.path.dirname(file)搭配使用更好哟~
版权归原作者 小小小羊羊羊 所有, 如有侵权,请联系我们删除。