pyinstaler打包exe后运行报错找不到文件

在将Python脚本打包成exe后,遇到运行时找不到Excel文件的错误。原因是打包后脚本的执行路径发生了变化。为解决这个问题,可以使用`os.path.abspath()`来获取文件的绝对路径,确保在任何环境下都能正确找到文件。此外,文章介绍了`os.path`模块的多个函数,如`abspath()`, `basename()`, `join()`等,这些函数在处理路径时非常有用。" 103489545,1201153,Unity UniRx:Logger与MessageProxy实践,"['Unity开发', '游戏开发', 'C#编程', 'UniRx框架', '日志系统']

最近在用python写一个统计数据的脚本,大致实现是把需要统计的数据放到脚本目录,直接运行脚本就可以统计数据并生成报表。写完后发现直接运行脚本可以正常执行,打成exe包后提示找不到excel文件

从错误提示看是脚本执行的路径下找不到excel文件,看代码应该是这行执行报错了

原始代码如下

time_start=datetime.datetime.now()
#使用sys.path[0]获取当前路径
order = load_workbook(sys.path[0]+r'\***.xlsx')

添加路径打印

#增加路径打印
print(sys.path[0])
order = load_workbook(sys.path[0]+r'\***.xlsx')

直接运行脚本

打包成exe后

 从这里可以看出打包成exe后获取的路径不是exe文件的路径,具体原因还没摸透。规避此问题的方法是在打包exe时,把

sys.path[0]  替换成  os.path.dirname(sys.executable)
sn_wb = load_workboo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值