1. 文件读写操作
1.1 文件打开与关闭
文件处理的步骤:打开-操作-关闭
open()
函数打开文件- 变量f是文件句柄,内部是文件对象
.close()
方法关闭文件
<变量名> = open(<文件名>,<打开模式>)
1.2 文件的打开模式
打开模式举例 | 描述 |
---|---|
‘r’ | 只读模式,默认值,如果文件不存在,返回FileNotFoundError |
‘w’ | 覆盖写模式,文件不存在则创建,存在则完全覆盖 |
f = open('f.txt','r')
只读模式打开文本文件f = open('f.txt','w')
覆盖写模式打开文本文件
1.3 文件的全文读入
一次性全部读入文件
f = open("f.txt","r")
txt = f.read()
# 对全文txt进行处理
f.close()
按行读入文本
f = open("f.txt","r")
for line in f:
# 每行文本保存在line中,可逐行处理
f.close()
2. 循环语句
python包括两种循环:
- 遍历循环:由for和in组成,从遍历结构中逐一获得元素进行循环
for <循环变量> in <遍历结构>:
<语句块>
- 无限循环:使用while保留字,由条件控制循环过程。反复执行语句块,直到条件不满足时结束
while <条件>:
<语句块>
3. 异常处理
异常处理:对程序执行异常的处理机制,提高用户体验
try:
<语句块1>
except:
<语句块2>
- 使用try-except保留字
- 捕获语句块1中异常,采用语句块2进行处理
实例2 传感器日志文件分析
程序需求
传感器日志文件
日期date | 时间Time | 温度Temperature | 湿度Humidity | 光照Light | 电压Voltage
yyyy-mm-dd hh:mm:ss.xxx real real real real
- 日志文件中,每一行是一条日志信息
- 每行日志包括4个传感器数据:温度、湿度、光照和电压
计算传感器日志文件中温度数据的平均值
- 日志文件包含1万条数据
- 温度数据在文件的第3列
- 输入:日志文件sensor-data.txt
- 输出:平均温度数值,保留小数点后两位
# SensorReader.py
try: # 异常处理
f = open("sensor-data.txt","r")
avg, cnt = 0, 0
for line in f:
ls = line.split()
cnt += 1
avg += eval(ls[2])
print("平均的温度值是:{:.2f}".format(avg / cnt))
f.close()
except:
print("文件打开错误")