1 os.path 模块常用的属性和方法

image.png image.png image.png

2 简单示例

  • 在一个工程或者项目中用到的会多一点,比如需要得到某个文件或者配置文件的路径等。
  • 这里示例为:C:\Users\Administrator\Desktop\test_os_path.py
# -*- coding:utf-8 -*-
# 作者:NoamaNelson
# 日期:2021/7/10 18:23
# 文件名称:test_os_path.py
# 作用:os.path使用

import os

class StudyOS:

    def os_path(self):
        os_path = os.path.abspath(__file__)
        print(f"1、当前执行文件的路径为:{os_path}")

    def os_path_d(self):
        os_path = os.path.dirname(os.path.abspath(__file__))
        print(f"2、当前执行文件的目录路径为:{os_path}")

    def os_path_dd(self):
        os_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
        print(f"3、当前执行文件的目录路径的目录路径为:{os_path}")

    def os_path_b(self):
        os_path = os.path.basename(__file__)
        print(f"4、当前执行文件的名称为:{os_path}")

    def os_path_e(self):
        os_path = os.path.exists(__file__)
        print(f"5、当前执行文件是否存在:{os_path}")
    
if __name__ == "__main__":
    mpath = StudyOS()

    mpath.os_path()
    mpath.os_path_d()
    mpath.os_path_dd()
    mpath.os_path_b()
    mpath.os_path_e()

输出为:

========== RESTART: C:/Users/Administrator/Desktop/test_os_path.py ==========
1、当前执行文件的路径为:C:\Users\Administrator\Desktop\test_os_path.py
2、当前执行文件的目录路径为:C:\Users\Administrator\Desktop
3、当前执行文件的目录路径的目录路径为:C:\Users\Administrator
4、当前执行文件的名称为:test_os_path.py
5、当前执行文件是否存在:True

3 项目中扩展

  • 比如我们有这么一个项目结构; 在这里插入图片描述
  • config.py中是我们的配置信息;
  • 该工程的绝对路径为:F:\Automated-InterfaceTest-Pytest-demo
  • 项目根目录获取:
# -*- coding:utf-8 -*-
# 作者:NoamaNelson
# 日期:2021/7/10 18:10
# 文件名称:config.py
# 作用:配置文件

# =================== 项目根目录 ===================
BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_PATH1 = os.path.dirname(os.path.abspath(__file__))
BASE_PATH2 = os.path.abspath(__file__)

print(f"项目根目录路径为:{BASE_PATH}")
print(f"当前执行脚本的目录路径为:{BASE_PATH1}")
print(f"当前执行脚本的路径为:{BASE_PATH2}")

输出为:

项目根目录路径为:F:\Automated-InterfaceTest-Pytest-demo
当前执行脚本的目录路径为:F:\Automated-InterfaceTest-Pytest-demo\config
当前执行脚本的路径为:F:\Automated-InterfaceTest-Pytest-demo\config\config.py
  • 接口文档.xls的路径
EXCEL_FILE = os.path.join(BASE_PATH, "excel", "接口文档.xls")  # 接口文档的目录
print(f"接口文档的路径:{EXCEL_FILE}")

输出为:

接口文档的路径:F:\Automated-InterfaceTest-Pytest-demo\excel\接口文档.xls