零基础学Pyhton:最全Python常见异常运行错误提示!!比较费眼睛建议收藏慢慢看!!

           很多新手小伙伴儿,遇到代码运行报错之后就不清楚怎么办了??

这篇文章主要介绍了Python运行错误异常代码含义对照表,需要的朋友可以参考下哦!!

Python常见的异常提示及含义对照表如下: 👀👀👀

 异常名称                                 描述  
BaseException                   所有异常的基类  
SystemExit                      解释器请求退出  
KeyboardInterrupt               用户中断执行(通常是输入^C)  
Exception                       常规错误的基类  
StopIteration                   迭代器没有更多的值  
GeneratorExit                   生成器(generator)发生异常来通知退出  
StandardError                   所有的内建标准异常的基类  
ArithmeticError                 所有数值计算错误的基类 
FloatingPointError              浮点计算错误  
OverflowError                   数值运算超出最大限制  
ZeroDivisionError               除(或取模)零 (所有数据类型)  
AssertionError                  断言语句失败  
AttributeError                  对象没有这个属性 
EOFError                        没有内建输入,到达EOF 标记  
EnvironmentError                操作系统错误的基类  
IOError                         输入/输出操作失败  
OSError       
<think>嗯,用户想要把Word文件内嵌到打包后的Python可执行程序中,用资源文件的方式。首先,我需要回忆一下Python打包的常见方法,比如PyInstaller。用户可能已经知道基本的打包方法,但需要处理外部文件,比如.docx或.doc文件,让它们包含在EXE中,而不是放在外面。 首先,应该考虑资源文件的管理。在PyInstaller中,通常使用--add-data参数来添加数据文件,但这样在打包后,文件会被放在临时目录中。用户可能需要通过sys._MEIPASS来访问这些文件。但用户提到的是“资源文件方式”,可能需要更内嵌的方式,比如将文件转换成二进制数据直接包含在代码中。 然后想到可能需要将Word文件转换为字节,然后保存为Python变量,或者使用base64编码。这样在代码中可以直接引用,而不需要外部文件。但这种方法对于大文件可能不太方便,因为代码文件会变得很大,而且修改资源文件需要重新转换和替换。 另一种方法是使用PyInstaller的运行时临时目录。需要确保在打包时正确添加数据文件,然后在代码中处理路径问题。当程序打包成单文件EXE时,资源会被解压到临时目录,所以需要使用sys._MEIPASS来获取正确的路径。这可能需要编写条件判断,判断是开发环境还是打包后的环境,从而选择正确的文件路径。 用户可能需要具体的步骤,比如如何修改代码,如何配置PyInstaller的spec文件,或者使用命令行参数添加数据。例如,在代码中使用类似这样的结构: if getattr(sys, 'frozen', False): base_path = sys._MEIPASS else: base_path = os.path.dirname(__file__) 然后,用os.path.join(base_path, 'wordfile.docx')来获取正确的文件路径。 另外,需要提醒用户在打包时使用正确的命令,比如pyinstaller --add-data "wordfile.docx;." script.py,这样文件会被包含在包中。但用户可能对路径分隔符(Windows用分号,Linux/Mac用冒号)容易出错,需要强调这一点。 可能还需要提到如何测试打包后的程序,确保能够正确读取内嵌的Word文件。比如在代码中捕获异常,打印出当前路径,检查文件是否存在。 另外,用户可能关心如何处理多个资源文件,或者是否支持其他格式,但当前问题只涉及Word文件,所以可以暂时不展开,但可能需要提示如果有其他需求的话可以进一步说明。 总结下来,回答应该分步骤:如何将文件作为资源添加到PyInstaller,如何在代码中正确访问这些资源,如何处理开发环境和打包环境的路径差异,以及打包命令的具体示例。可能还需要一个完整的代码示例,展示读取内嵌Word文件的过程,并处理两种情况的路径。</think>要将 Word 文件内嵌到打包后的 Python 可执行程序(如使用 PyInstaller 打包的 EXE 文件),可以通过 **资源文件管理** 和 **PyInstaller 数据嵌入** 的方式实现。以下是详细步骤: --- ### **方法 1:通过 PyInstaller 的 `--add-data` 参数嵌入文件** #### **步骤 1:准备代码** 在代码中动态获取资源文件的路径,确保在开发环境和打包后的 EXE 中都能正确读取文件。 ```python import sys import os from docx import Document # 假设使用 python-docx 库读取 Word 文件 def load_word_file(): # 判断是否是打包后的环境 if getattr(sys, 'frozen', False): base_path = sys._MEIPASS # PyInstaller 临时解压目录 else: base_path = os.path.dirname(os.path.abspath(__file__)) # 拼接 Word 文件路径 word_path = os.path.join(base_path, "your_file.docx") # 读取 Word 文件 try: doc = Document(word_path) print("Word 文件读取成功!") return doc except Exception as e: print(f"读取失败: {e}") return None if __name__ == "__main__": load_word_file() ``` #### **步骤 2:打包时嵌入文件** 使用 PyInstaller 的 `--onefile --add-data "your_file.docx:." your_script.py ``` - **Windows** 用户需将 `:` 改为 `;`: ```bash pyinstaller --onefile --add-data "your_file.docx;." your_script.py ``` #### **关键说明** - `sys._MEIPASS` 是 PyInstaller 运行时生成的临时目录,资源文件会被解压到此路径。 - `--add-data "source:dest"` 表示将本地的 `source` 文件嵌入到打包后的 `dest` 路径(`.` 表示根目录)。 --- ### **方法 2:将文件转换为 Python 代码(适用于小文件)** 将 Word 文件转换为字节码或 Base64 字符串,直接嵌入到代码中。 #### **步骤 1:将 Word 文件转换为字节码** 使用以下脚本生成文件的字节码表示: ```python with open("your_file.docx", "rb") as f: byte_data = f.read() print(byte_data) # 复制输出的字节码到主代码中 ``` #### **步骤 2:在代码中硬编码字节数据** ```python from io import BytesIO from docx import Document # 硬编码的 Word 文件字节码 WORD_DATA = b'\x50\x4B\x03\x04...' # 替换为实际字节码 def load_word_from_bytes(): doc = Document(BytesIO(WORD_DATA)) print("Word 文件读取成功!") return doc ``` --- ### **验证打包结果** 1. **执行打包命令**: ```bash pyinstaller --onefile --add-data "your_file.docx:." your_script.py ``` 2. **运行生成的 EXE**: ```bash dist/your_script.exe ``` 3. **检查输出**:确保程序能正确读取 Word 文件内容。 --- ### **常见问题解决** 1. **文件路径错误**: - 确保在代码中使用 `os.path.join` 拼接路径。 - 使用 `try-except` 捕获文件读取异常。 2. **文件未嵌入**: - 检查 PyInstaller 命令中的 `--add-data` 参数格式。 - 在生成的 `.spec` 文件中确认 `datas` 字段包含资源文件。 --- 通过以上方法,你可以将 Word 文件内嵌到打包后的 EXE 中,无需额外分发文件!如果有其他格式文件(如图片、音频),操作方式类似。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顾木子吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值