目录
1.异常
1.1.概念
在编程中,异常( Exception )是指程序在运行过程中遇到的错误或异常情况。当程序出现异常时,它会中断当前的正常执行流程,并跳转到异常处理机制中,以便进行错误处理、异常处理或程序终止等操作。
1.2.常见异常
- SyntaxError :语法错误,通常是由于代码书写格式不正确导致的。
- NameError :名称错误,通常是由于变量或函数名未定义或拼写错误导致的。
- TypeError :类型错误,通常是由于不符合操作要求的数据类型导致的。
- ValueError :值错误,通常是由于传递给函数的参数值不合法导致的。
- FileNotFoundError :文件不存在错误,通常是由于读取或操作不存在的文件导致的。
- IndexError :索引错误,通常是由于访问序列(列表、元组等)时使用了无效的索引值导致的。
- KeyError :键错误,通常是由于在字典中访问不存在的键导致的。
- ZeroDivisionError :除零错误,通常是由于除法运算中除数为零导致的。
1.3.异常处理方式
1.3.1.try except
# input_util 异常优化
import re
# 封装 2 个函数
# 输入任意正确范围的整数
# 参数:提示语句,不定长参数(约束范围)
# 返回值:需要
# 传范围
def fun2(n: float, *args: float | int) -> float | int:
if len(args) == 0:
return n
elif len(args) == 1:
if n >= args[0]:
return n
else:
print(f'请输入大于等于{args[0]}的数字')
else:
if args[0] <= n <= args[1]:
return n
else:
print(f'请输入{args[0]} - {args[1]}的数字')
def input_int(msg: str = '请输入一个整数:', *args: int) -> int:
while 1:
try:
n = int(input(msg))
result = fun2(n, *args)
if result is not None:
return n
except:
print('输入的不是整数')
# 输入任意正确范围的小数
def input_float(msg: str = '请输入一个小数:', *args: float) -> float:
while 1:
try:
n = float(input(msg))
result = fun2(n, *args)
if result is not None:
return n
except:
print('输入的不是小数')
1.3.2.try except else
1.3.3.try except else finally
2.文件
把数据永久地保存下来。
2.1.文件分类
ps:python 程序的数据保存在哪里?
- 程序在执行的过程中,数据是保存在内存当中。
- 也就说程序结束数据消失【因为当程序结束之后 python 、系统会回收我们使用过的内存】。
- 问题:我们数据没办法永久保存。
电脑三大件:
- CPU:提供算力
- GPU:提供图形算力
- 内存:算力跑在内存
2.2.常见的文件类型
- 文本文件 txt
- 结构化 Excel 文件
- 结构化 csv 文件(大量数据打开时,excel会卡,csv不卡)
- 结构化 SQL 数据表
2.3.python 操作文件的函数
newline 控制换行符是 windows 会用,mac 不会用到。
文件路径分为:
- 相对路径:(path_name = './python基础/2024-11-13模块&异常&文件/data/input_util.py')(./ 可加可不加)
- 绝对路径:根目录 / 开始(path_name = '/Users/wangruonan/Documents/AICode/SF130/python基础/2024-11-13模块&异常&文件/data/input_util.py')
2.3.1.读取文件
# 读取文件
# 1.找到文件路径
path_name = './python基础/2024-11-13模块&异常&文件/data/input_util.py' # 相对路径
# 2.通过 open 函数打开文件
try:
file = open(path_name)
print(file)
result = file.read()
print(result)
except:
print('加载失败...')
import time
# 读取文件
# 1.找到文件路径
path_name = './python基础/2024-11-13模块&异常&文件/data/input_util.py' # 相对路径
# 2.通过 open 函数打开文件
try:
file = open(path_name, encoding = 'utf-8')
while 1:
result = file.readline()
if result:
print(result, end = '')
time.sleep(0.5)
else:
break
except:
print('加载失败...')
一般多使用
2.3.2.写入文件
ps:with 关键字
with关键字用于创建一个上下文管理器,它能够确保资源在使用后被正确地清理和释放。
优点:
- 简洁性:使用with语句可以使代码更加简洁,避免了手动管理资源时可能出现的忘记关闭资源的错误。
- 可靠性:无论在with语句块中是否发生异常,资源都会被正确地清理和释放,提高了程序的可靠性。
3.csv 模块
csv 模块用于处理逗号分隔值文件。
3.1.csv 文件
写入文件.ipynb:
3.2.读取文件
先把 open 函数读取文件的对象转为 csv 读取文件对象。
通过循环读取 csv 文件当中所有的内容。
3.3.写入文件
先把 open 函数写入文件的对象转为 csv 写入文件对象。
通过循环写入数据到 csv 文件当中。