根据提供的信息,我们可以总结出以下的关键知识点: ### 1. 文件操作 #### 写入文本文件 - 使用 `with open` 语句可以方便地管理文件的打开与关闭。 - `with open('text.txt', 'w', encoding='utf-8') as f:` 这行代码创建了一个名为 `text.txt` 的文件(如果文件已存在则会覆盖),并以写入模式 (`'w'`) 打开。`encoding='utf-8'` 指定了编码方式,这样可以在不同语言环境中正确处理中文字符。 #### 读取文本文件 - 通过类似的方法可以读取文件内容。 - `with open('text.txt', 'r') as f2:` 这行代码以只读模式 (`'r'`) 打开了 `text.txt` 文件。 - `duqu = f2.read()` 将文件的所有内容读取到变量 `duqu` 中。 #### 复制文本文件 - `with open('text2.txt', 'w') as f3:` 创建了一个新的文件 `text2.txt`。 - `f3.write(duqu)` 将先前读取的内容写入新文件,完成了复制过程。 #### 复制二进制文件(如图片) - `with open('1.jpg', 'rb') as f4:` 以二进制读取模式 (`'rb'`) 打开图片文件。 - `photo = f4.read()` 读取整个图片文件到变量 `photo`。 - `with open('copy.jpg', 'wb') as f5:` 以二进制写入模式 (`'wb'`) 打开或创建目标文件。 - `f5.write(photo)` 将读取的图片数据写入目标文件,从而完成复制。 #### 写入列表到文件 - 可以将列表中的每个元素作为一行写入文件。 - `"\n".join(list_data)` 将列表转换成字符串,其中元素之间由换行符 `\n` 分隔。 - `with open('zuoye', 'w') as f6:` 以写入模式打开文件 `zuoye`。 - `f6.write("\n".join(list_data))` 将列表内容写入文件。 ### 2. 异常处理 #### 异常的基本格式 - Python 中的异常处理基本格式如下: ```python try: # 尝试执行的代码块 except ExceptionType: # 如果发生指定类型的异常,则执行这里 else: # 如果没有发生异常,则执行这里 finally: # 不论是否发生异常都会执行这里 ``` #### 常见异常处理 - **类型异常**:当尝试对不同类型的对象进行不适当的操作时触发。 ```python try: 1 + '1' except TypeError: print("类型异常!") ``` - **索引越界异常**:访问列表或其他序列类型中的不存在的索引时触发。 ```python try: list_var1 = [1, 2, 3] list_var1[3] except IndexError: print("下标索引越界异常!") ``` - **值错误**:当传递给函数的参数类型虽然正确但值不适当时触发。 ```python try: list_var3 = [4, 5, 6] list_var3.index(1) except ValueError: print("值错误") ``` - **文件打开异常**:尝试打开不存在的文件时触发。 ```python try: open('666.txt', 'r') except FileNotFoundError: print("打开文件异常!") ``` - **finally 子句**:无论是否发生异常都会执行。 ```python finally: print("垃圾回收操作!") ``` #### 主动抛出异常 - 可以通过 `raise` 语句主动引发异常。 ```python try: print('111') raise TypeError except TypeError: print("异常处理!") ``` ### 3. 模块和包 #### 模块 - 在 Python 中,每一个 `.py` 文件都可以看作是一个模块。 - 模块可以包含函数、类等,用于组织相关的代码。 - 导入模块的方式: - 直接导入整个模块:`import 模块名` - 导入模块中的特定内容:`from 模块名 import 函数名` - `import` 语句用于导入模块,使该模块中的定义可以在当前文件中使用。 #### 包 - 包是一个包含多个模块的目录。 - 包中必须包含一个特殊的文件 `__init__.py`,即使这个文件为空也可以。 - 包的作用在于组织相关模块,便于管理和使用。 - 导入包中的模块或内容时,也需要使用 `import` 或 `from...import` 语法。 #### __init__.py 文件 - 在包中,`__init__.py` 文件定义了包的属性和方法。 - 即便 `__init__.py` 文件为空,也必须存在才能被视为包。 - 导入包实际上是导入了其 `__init__.py` 文件。 #### 库、模块和包之间的关系 - **库**:通常是指完成一个大功能的代码集合,表现形式通常是包。 - **包**:是一种组织模块的方式,使得模块可以根据功能进行分组。 - **模块**:是一个单独的 `.py` 文件,用于实现一个具体的功能。 - 库可以是多个包或多个模块的集合,侧重于实现完整的功能。
- 粉丝: 0
- 资源: 17
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助