Python异常与模块文件操作详解

需积分: 5 0 下载量 86 浏览量 更新于2024-09-08 收藏 4KB MD 举报
"这篇文档是关于编程基础的个人学习笔记,涵盖了异常、模块和文件读写的主题,适合初学者阅读。" 在编程中,异常、模块和文件读写是核心概念,对于理解Python语言至关重要。 ### 异常 异常是Python处理错误的一种机制。当程序在运行过程中遇到无法处理的问题时,会抛出一个异常对象。如果不进行处理,程序会终止,并显示一个traceback,提供关于异常的详细信息。 #### 常见异常类型 1. 除零错误(ZeroDivisionError): 当尝试除以零时发生。 2. 命名错误(NameError): 当引用一个未定义的变量时触发。 3. 类型错误(TypeError): 当操作或函数应用于不适当的类型时抛出。 4. 语法错误(SyntaxError): 当Python解析器不能理解代码的语法时,会发生此错误。 #### 异常处理 异常处理通过`try...except`语句实现。`try`块中的代码会被尝试执行,如果出现异常,程序会立即跳转到相应的`except`块来处理错误。可以使用多个`except`块来捕获不同类型的异常,或者使用一个`except`块捕获多种类型的异常。 ```python def func(a, b, c, d): try: x = b + c y = d[3] # 如果d长度小于4,会引发IndexError z = a / b # 如果b为0,会引发ZeroDivisionError return x, y, z except (TypeError, ZeroDivisionError, IndexError) as e: print('您的错误信息是:', e) ``` 此外,`finally`子句确保无论是否发生异常,都会执行特定的代码,通常用于资源清理。 ```python try: print(10 / 0) # 这将引发ZeroDivisionError except ZeroDivisionError as e: print('ZeroDivisionError:', e) finally: print('finally里面的代码') # 无论是否发生异常,这行都会被执行 ``` ### 模块 模块是Python代码的集合,可提高代码的组织性和重用性。通过`import`语句,我们可以加载并使用模块中的函数、类和其他定义。 ```python import math # 导入math模块 print(math.sqrt(16)) # 使用math模块的sqrt函数计算平方根 ``` 模块还可以使用`from...import...`来导入特定的函数或变量。 ```python from math import sqrt # 只导入sqrt函数 print(sqrt(25)) # 直接使用sqrt函数 ``` ### 文件读写 文件读写是程序与外部数据交互的关键。Python提供了简单的方法来打开、读取、写入和关闭文件。 - 打开文件:`open(filename, mode)`,例如`f = open('test.txt', 'r')`以只读模式打开文件。 - 读取文件:`f.read()`读取全部内容,`f.readline()`读取一行,`f.readlines()`读取所有行。 - 写入文件:`f.write(string)`将字符串写入文件,`f.writelines(lines)`写入多行。 - 关闭文件:记得在完成文件操作后调用`f.close()`关闭文件,以确保数据被正确保存。 ```python with open('example.txt', 'w') as f: f.write('Hello, world!\n') f.write('This is a test.\n') with open('example.txt', 'r') as f: content = f.read() print(content) ``` 在这个例子中,我们首先以写入模式打开文件,然后写入两行文本。之后,我们以读取模式打开同一文件,读取所有内容并打印。 掌握异常处理、模块使用和文件读写是成为熟练Python程序员的基础,这些知识将帮助你更好地理解和解决实际编程问题。