• python 获取路径不同方法的比较


    在软件中经常需要获取文件所在路径,方法有很多种( 例如 os.path.realpath(__file__), os.getcwd(), os.path.abspath(__file__),  sys.path[0],  sys.argv[0]),但是各有不同,比较如下:

    在一个NIPT_Analysis-V1.3.02.3.py 的程序中,编写测试代码如下,

    temp_file = open("X:/WZD/temp/tempfile.txt","w")
    curr_path0 = os.path.realpath(__file__)
    curr_path1 = os.getcwd()
    curr_path2 = os.path.abspath(__file__)
    curr_path3 = sys.path[0]
    curr_path4 = sys.argv[0]
    path0 = os.path.dirname(curr_path0)
    path1 = os.path.dirname(curr_path1)
    path2 = os.path.dirname(curr_path2)
    path3 = os.path.dirname(curr_path3)
    path4 = os.path.dirname(curr_path4)
    temp_file.write("curr_path0"+"	"+curr_path0+"	"+"path0"+"	"+path0+"
    ")
    temp_file.write("curr_path1"+"	"+curr_path1+"	"+"path1"+"	"+path1+"
    ")
    temp_file.write("curr_path2"+"	"+curr_path2+"	"+"path2"+"	"+path2+"
    ")
    temp_file.write("curr_path3"+"	"+curr_path3+"	"+"path3"+"	"+path3+"
    ")
    temp_file.write("curr_path4"+"	"+curr_path4+"	"+"path4"+"	"+path4+"
    ")
    temp_file.close()
    

      

    将该程序放置目录 X:WZDNIPT_Analysis_softwareNIPT_Analysis-V1.3.02.3下,

    然后编写.bat文件来调用NIPT_Analysis-V1.3.02.3.py 程序。将.bat文件放置在目录 X:WZDNIPT_Analysis_software下,

    运行.bat文件,完毕后生成"X:/WZD/temp/tempfile.txt 文件,结果是:

    然后用pyinstaller将 NIPT_Analysis-V1.3.02.3.py 打包成NIPT_Analysis-V1.3.02.3.exe文件,并替换.py文件,

    再用.bat文件来调用NIPT_Analysis-V1.3.02.3.exe 程序。将.bat文件放置在目录 X:WZDNIPT_Analysis_software下,

    运行结果如下:

    最终选择curr_path4 = sys.argv[0]作为获取NIPT_Analysis-V1.3.02.3.py 文件路径的方法。

    注释:回过头来看,以上都有些问题,这是由于我当时理解不清,后来发现一篇好的文章,这个写的比较清晰 https://blog.csdn.net/vitaminc4/article/details/78702852

  • 相关阅读:
    vue异步组件
    vue-awesome-swiper的使用
    自定义button组件时slot的使用
    axios拦截器的简单使用
    vue静态类名和动态类名绑定的几种方式
    快速知道所有元素的边框
    【转】CICD工具
    mocha学习(四)为项目开发一个BDD测试
    mocha学习(三)hook 机制 和 测试技巧
    mocha学习(二)mocha接口
  • 原文地址:https://www.cnblogs.com/zdwu/p/8118245.html
Copyright © 2020-2023  润新知