zoukankan      html  css  js  c++  java
  • python-基础-os.path.realpath((__file__))、os.path.abspath((__file__))、os.path.dirname()获取文件根目录

    引用博客地址:
    https://www.cnblogs.com/newsss/p/12080763.html

    思考:如果把测试文件、测试报告、日志信息放在某一个路径下需要读取和保存的话 需要给对应方法提供路径,假如data放着测试数据:test_date.xlsx 路径如何获取那?

    方法一:

    1)获取py脚本所在路径

    os.path.realpath((file))

    2)使用os.path.split()分割路径与文件,以元组的形式返回,我们运用这个特性获取py文件的上级路径‘script’。

    os.path.split(os.path.realpath(file))[0]

    3)使用os.path.join()进行路径拼接,如果直接使用如下的方式,结果并不是我想要的。

    a=os.path.split(os.path.realpath(file))[0]
    print(os.path.join(a,"data"))

    解决办法:

    1.思考:前面有跟目录无法进行替换,我需要连接data目录。我想到的是折中一下,在此目录下设置个配置文件,写上对应的绝对路径:“/python_框架设计”再使用os.path.join()

    2.想好就做,如下 创建一个配置文件

    3.配置文件写好了,这时候读取配置文件中的绝对路径进行拼接

    import configparser
    a=os.path.split(os.path.realpath(file))[0]
    cf=configparser.ConfigParser()
    cf.read(os.path.join(a,"config.conf"))
    project_path=cf.get("projectConfig","project_path")
    data=os.path.join(project_path,'data')
    print(data)

    ConfigParser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: "%&'" 解决方案
    大致意思是,因为ini的内容中包含了%号这种特殊符号。

    解决方案
    换一种方式进行读取配置文件
    原本代码:cf= configparser.ConfigParser()

    替换成:
    cf = configparser.RawConfigParser()

  • 相关阅读:
    CSS color
    Python 集成开发环境(IDE)
    Flexible and Economical UTF-8 Decoder
    方程式组织EQUATION DRUG平台解析(提纲) —方程式组织系列分析报告之四
    Windows Server 2008 IE 无法调整安全级别
    蟑螂数据库
    MySQL OCP
    TCP协议疑难杂症全景解析
    数据库资源博客---小麦苗BEST
    C++并发实战 与多线程
  • 原文地址:https://www.cnblogs.com/hl-2030/p/13438189.html
Copyright © 2011-2022 走看看