UI自动化之 os.path.dirname(__file__)、os.path.abspath(__file__)、os.path.join()使用

转自「peiwang245」的原创文章   https://blog.csdn.net/peiwang245/article/details/98077910

转自 https://blog.csdn.net/weixin_45711264/article/details/104740288

 

 

我在C:\Users\admin\Desktop目录下写了一个001.py文件,文件代码如下: 

 

 执行结果如下:

 

 

相信你已经看出区别了,下面来总结一下:
1、os.path.dirname(file)返回的是.py文件的目录
2、os.path.abspath(file)返回的是.py文件的绝对路径(完整路径)
3、在命令行运行时,如果输入完整的执行的路径,则返回.py文件所在的目录,否则返回空目录。如:

 

4、os.path.dirname(os.path.abspath(file))组合使用,如果大家看过一些python架构的代码的话,会发现经常有这样的组合
5、os.path.join()进行路径拼接

我的代码所在目录如下图:

 

 

conf_path = os.path.dirname(os.path.abspath(__file__))
work_path = os.path.dirname(os.path.dirname(conf_path))
data_path = os.path.join(work_path, "data")

采用debug的方法,看每一步的值,如下图:

 

 

这样就很容易理解了:
os.path.abspath(file)返回代码文件的所在的目录,不带文件名;
os.path.dirname(path)返回path目录或者绝对路径的上一级目录,结合以上几张图,很容易看出:代码第二行对conf_path执行了两次os.path.dirname,得到的就是上两级的目录;第三行,与data拼接,最终形成数据所在目录。

 

 

 

 

 
posted @ 2022-02-09 15:05  刘佳芳  阅读(441)  评论(0)    收藏  举报