0
点赞
收藏
分享

微信扫一扫

os.getcwd 和os.path.abspath解读

os.getcwd && os.path.abspath

1、os.getcwd():

获取当前工作目录,也就是在哪个目录下运行这个程序。

假设F:\aaa\bbb\ccc目录下有个文件 TestDir.py,打印当前工作目录。进入windows命令行窗口

image.png
os.path是专门用来解析地址的,

如何获得当下程序运行的完整地址可以用os.path.abspath(file)

注意file属于该方法的特殊用法,不能在其他地方单独使用否则报错,因为没定义。

2、os.path.abspath()

只有当在脚本中执行的时候,os.path.abspath(file)才会起作用,因为该命令是获取的当前执行脚本的完整路径,如果在交互模式或者terminate 终端中运行会报没有file这个错误:
image.png
不是取绝对路径么?怎么不是真实的完整路径?上级目录不见了???

image.png
另外的,举例有:
image.png

os.path.abspath无法获取指定文件的绝对路径,而是需要加文件路径os.path.abspath(path)

本质上就是:
os.path.abspath取决于os.getcwd,如果是一个绝对路径,就返回,如果不是绝对路径,根据编码执行getcwd/getcwdu.
然后把path和当前工作路径连接起来。

本文部分参考来源:
https://blog.csdn.net/funnypython/article/details/78733115
https://blog.csdn.net/dmt103/article/details/106170431
https://www.cnblogs.com/nzbbody/archive/2013/11/12/3419473.html
http://blog.csdn.net/yes1cpp/article/details/43310595

举报

相关推荐

0 条评论