zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Yahoo团队经验:网站性能优化的34条黄金法则
    SaltStack中状态间关系unless、onlyif、require、require_in、watch、watch_in
    kubectl 常用命令一
    Linux系统的限制
    DNS服务器搭建与配置
    Python对文件的操作
    SaltStack schedule功能
    saltstack的salt-api介绍
    SaltStack事件驱动 – event reactor
    SaltSack 中Job管理
  • 原文地址:https://www.cnblogs.com/zdwu/p/8118245.html
Copyright © 2011-2022 走看看