os.getcwd()和os.path.realpath(__file__)的区别

泪湿孤枕 提交于 2019-12-05 18:12:43

1.os.path.realpath(__file__)是脚本所在的绝对路径,os.getcwd()是工作目录,默认情况下是一样的,但是把当前工作工作区修改后,输出就不一样了。

例子:

os.chdir("/Users/xiaminli/" )
print(os.getcwd())
print(os.path.realpath(__file__))

输出:

/Users/xiaminli
/Users/xiaminli/Downloads/21天学通Python/源代码/C11/test/a11_3.py


2.

用__file__ 来获得脚本所在的路径是比较方便的,但这可能得到的是一个相对路径,比如在脚本test.py中写入:

#!/usr/bin/env python
print __file__

按相对路径./test.py来执行,则打印得到的是相对路径,
按绝对路径执行则得到的是绝对路径。
而按用户目录来执行(~/practice/test.py),则得到的也是绝对路径(~被展开)

所以为了得到绝对路径,我们需要 os.path.realpath(__file__)。

print( __file__)
/Users/xiaminli/Downloads/21天学通Python/源代码/C11/test/a11_3.py




标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!