Bootstrap

python3获取路径方法

一: 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__) 获取程序的绝对路径

1.

import os

path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print("结果:{}".format(path))
 

当前程序目录运行结果:

2.

import os

path = os.path.dirname(os.path.abspath(__file__))
print("结果:{}".format(path))

当前程序目录运行结果:

其他目录运行:

3.

import os

path = os.path.abspath(__file__)
print("结果:{}".format(path))

当前程序目录运行结果: 

其他目录运行:

总结:

os.path.abspath(__file__):不论在哪运行都是获取程序的绝对路径。

因为最开始使用有点懵逼,所以写清楚各个情况下的运行结果,更好的理解该方法。

推荐:

os.path.abspath(__file__)与os.path.dirname(__file__)搭配使用更好哟~

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;