python文件打包找不到文件路径

引用:【将Python代码打包成exe可执行文件】 https://www.bilibili.com/video/BV1P24y1o7FY/?p=4\&share_source=copy_web\&vd_source=d5811f31a0635dfc69a182c7bf1adb8b

在代码中,我们想读取文件a,一般使用如下方法。

python 复制代码
import os

dir = os.path.dirname(os.path.abspath(__file__))

假设主文件为main.py,那我们需要把文件a的放置和main.py同一目录即可。

1、当打包成多文件的时候,将文件a放在main.exe的同一目录,即可执行成功

2、当打包成单文件的时候,将文件a放在main.exe的同一目录,却会执行失败

这是为什么呢?因为main.exe先解压出main.py到本地电脑的临时目录,而文件a并不在临时目录,在和main.exe一样的目录。

这时,就需要使用sys.argv了。如图,第一张打印出可执行文件的路径,第二张打印的为文件名(这里我还没太理解)

如上代码直接执行,打印出的是python解释器后面的路径

将如上代码打包之后,会打印出可执行文件所在的目录路径。

使用写法二之后,dir的值,就是可执行文件所在的目录。

python 复制代码
import os
import sys

-- 写法二
dir = os.path.dirname(os.path.realpath(sys.argv[0]))

这时程序就会在可执行文件目录下查找文件a,就可以读取到了。

相关推荐
meilindehuzi_a27 分钟前
深入浅出数据结构:Python 字典(Dict)与集合(Set)的哈希表底层全链路追踪
数据结构·python·散列表
Lucas凉皮31 分钟前
20243408 2025-2026-2 《Python程序设计》综合实践报告
python·实验报告
键盘上的猫头鹰42 分钟前
【MySQL 教程(八)】索引、事务、用户管理、导入导出与分页查询
数据库·python·mysql
薛定谔的猫-菜鸟程序员1 小时前
2小时智能体开发一个智能体?我用CodeArts Agent 和 AtomCode 开发了一个适老化智能体。
人工智能·python·agent
bigfootyazi2 小时前
python爬虫-基本库-urllib库(常用速查)
开发语言·爬虫·python
瑶总迷弟2 小时前
使用 mis-tei 在昇腾310P上部署 bge-m3模型
pytorch·python·华为·语言模型·自然语言处理·cnn·unix
belong_my_offer3 小时前
认识到精通函数
开发语言·python
卡次卡次14 小时前
vibecoding起步注意点:插件、Skills、MCP、Hooks
服务器·数据库·python·oracle
我的xiaodoujiao4 小时前
API 接口自动化测试详细图文教程学习系列24--如何用Pytest去设计接口测试用例并执行
python·学习·测试工具·pytest
zhangfeng11334 小时前
ai 模型加密,强化版终极防盗方案 支持烧录的显卡列表
人工智能·pytorch·python