python脚本打包成exe文件获取当前路径的问题

python脚本打包成exe文件获取当前路径的问题

直接上代码

def get_resource_path(relative_path):
    if getattr(sys, 'frozen', False):  # 是否为PyInstaller打包的exe文件
        # 返回exe文件所在的绝对路径
        base_path = os.path.dirname(sys.executable)
    else:  # 在开发环境下运行
        # 返回脚本文件所在的绝对路径
        base_path = os.path.dirname(__file__)
    return os.path.join(base_path, relative_path)

使用的时候:

# 使用get_resource_path函数来获取chromedriver的路径
chromedriver_address_path = get_resource_path('resource/chromedriver_address.txt')
# 使用get_resource_path函数来获取time.txt的路径
time_file_path = get_resource_path('resource/time.txt')



注释:

os.path.abspath(path):

作用:返回给定路径的绝对路径。
示例:如果 path 是相对路径(如 “./test” 或 “subdir”),则它会将其转换为从当前工作目录开始的完整绝对路径。如果 path 已经是绝对路径,则直接返回该绝对路径。
使用场景:当你需要确保一个路径是绝对路径时,不论它最初是相对还是绝对,都可以使用此函数

os.path.dirname(path):

作用:返回路径中最后一个目录分隔符前的部分,即返回路径中的父目录名。
示例:如果 path 是 “D:/AutoTestSys/script/AutoFunction/file.py”,则 os.path.dirname(path) 返回的结果将是 “D:/AutoTestSys/script/AutoFunction”。
使用场景:当你需要获取一个路径中包含的目录部分而不需要文件名时,可以使用此函数。它通常用于构建相关文件或目录的路径,或者在处理目录结构时提取父目录信息。


总结:

  • abspath 关注于给出绝对路径。
  • dirname 关注于返回路径的父目录部分,不包括最后一级文件或目录。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值