zoukankan      html  css  js  c++  java
  • 配置文件中,文件相对路径的写法

       需要读写文件时,如果直接写绝对路径,项目移植至其他平台时,文件就会因为路径错误,读写或者导入不了,这时,我们就需要使用相对路径的写法,使项目的可移植性更好。

               相对路径的思路是:

               ① 项目内的文件路径相对项目的根目录是不变的

               ② 根目录相对平台根目录是变化的

               所以,我们只需要找到项目根目录的路径,并且与文件相对项目根目录的路径拼接一起就可以了    

               

               示例如上图所示,interface_test为项目名称,配置的文件是DirTest_Path.py,所以先根据DirTest_Path.py文件先找到interface_test项目根路径:

       代码如下:

        import  os

        #os.path.dirname(__file__)       表示当前文件父目录的路径,即如上图时,获取的路径是:"E:python_work estinterface_testUtilsDir_operate"

                  #所以获取项目根目录的方法是:

                   basepath=os.path.dirname(os.path.dirname(os.path.dirname(__file__) ))       #多少层父目录,包裹多少层   os.path.dirname()

                   #获取结果:  basepath="E:python_work estinterface_test"   

                  所以使用相对路径获取test_data.xlsx,可以如下拼接:

                  dir_path=basepath.replace("/","")+"\Utils\Dir_operate\test_data.xlsx"                 #windows和linux系统文件的路径斜杠不一样,所以可以根据需要替换斜杠

               

           完整代码:

      import  os

      basepath=os.path.dirname(os.path.dirname(os.path.dirname(__file__) ))

      dir_path=basepath.replace("/","")+"\Utils\Dir_operate\test_data.xlsx"                #windows平台写法

       #dir_path=basepath.replace("","/")+"//Utils//Dir_operate//test_data.xlsx"             #linux平台写法

               

  • 相关阅读:
    类和对象
    函数复习
    20145214 《网络对抗技术》 Web安全基础实践
    20145214 《网络对抗技术》 Web基础
    20145214 《网络对抗技术》 网络欺诈技术防范
    20145214 《网络对抗技术》 信息搜集与漏洞扫描
    20145214 《网络对抗技术》 MSF基础应用
    20145214 《网络对抗技术》 恶意代码分析
    20145214《网络对抗技术》免杀原理与实践
    20145214《网络对抗》MAL_后门原理与实践
  • 原文地址:https://www.cnblogs.com/whitemouseV2-0/p/10589530.html
Copyright © 2011-2022 走看看