zoukankan      html  css  js  c++  java
  • python相对目录的基本用法(一)

    一般在代码中涉及到操作文件时,最好使用文件的相对目录,这样在你的程序迁移到别人的电脑时,可以保证不会出现文件读取异常的错误(另外,自动化测试时用例的读取也要用相对目录)

    例子1

    假如工程文件的目录结构如下

    main中存放的是整个程序的运行文件

    test_case存放的是所有的测试用例

    那么在run_report.py中需要指明测试用例所在的位置,需要用到os模块

    os.path.abspath 表示 获得文件当前路径
    os.path.dirname 表示 获得文件的父目录

    可以按照如下方式

    import os
    
    root_dir = os.path.dirname(os.path.abspath('.'))  # 获取当前文件(这里是指run_report.py)所在目录的父目录的绝对路径,也就是项目所在路径E:DDT_Interface
    case_dir = root_dir + '/test_case/'  # 根据项目所在路径,找到用例所在的相对项目的路径
    print(root_dir)
    print(case_dir)

    执行结果如下

    D:worksoftpython36python.exe E:/DDT_Interface/main/run_report.py
    E:DDT_Interface
    E:DDT_Interface/test_case/
    
    Process finished with exit code 0

     例子2

    如果运行主文件直接在工程文件下,没有一个单独的目录了(因为只有一个文件,没必要再单独创建一个目录)

    run_all_case.py中关于读取用例的写法如下,只需用os.path.abspath('.')来获取当前文件所在的路径即可,再根据当前文件路径定位用例的路径

    import os
    
    root_dir = os.path.abspath('.')  # 获取当前文件所在目录,也就是"审批系统"所在目录,即"E:shenpi审批系统"
    case_path = root_dir + "/test_case"  # 获取case所在目录,即"E:shenpi审批系统	est_case"
    print(case_path)

    运行结果

    D:worksoftpython36python.exe E:/shenpi/审批系统/run_all_case.py
    E:shenpi审批系统/test_case
    
    Process finished with exit code 0
  • 相关阅读:
    iOS中Zbar二维码扫描的使用
    SOJ 1135. 飞跃原野
    SOJ 1048.Inverso
    SOJ 1219. 新红黑树
    SOJ 1171. The Game of Efil
    SOJ 1180. Pasting Strings
    1215. 脱离地牢
    1317. Sudoku
    SOJ 1119. Factstone Benchmark
    soj 1099. Packing Passengers
  • 原文地址:https://www.cnblogs.com/hanmk/p/9491767.html
Copyright © 2011-2022 走看看