• 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

  • 相关阅读:
    单点登录
    企业SOA架构案例分析
    京东峰值系统设计
    阿里搜索离线大数据平台架构
    国内不FQ使用ARCore
    Unity Android上视频使用Seek方法跳转有误差
    《搬砖日记》Obi Rope插件的简单使用
    《搬砖日记》AssetsBundle实现资源更新及通过反射添加脚本
    入园一周年
    《搬砖日记》Unity原生MicroPhone的使用
  • 原文地址:https://www.cnblogs.com/zdwu/p/8118245.html
Copyright © 2020-2023  润新知