最近在用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.exec