一:文件的编码
1. 什么是编码?
编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。 编码有许多中,我们最常用的是UTF-8编码
2. 为什么需要使用编码?
计算机只认识0和1,所以需要将内容翻译成0和1才能保存在计算机中。
同时也需要编码, 将计算机保存的0和1,反向翻译回可以识别的内容
二:文件的读取
1. 操作文件需要通过open函数打开文件得到文件对象
2. 文件对象有如下读取方法:
3. 文件读取完成后,要使用文件对象.close()方法关闭文件对象,否则文件会被一直占用
课后练习:单词计数
通过Windows的文本编辑器软件,将如下内容,复制并保存到:word.txt,文件可以存储在任意位置
itheima itcast python
itheima python itcast
beijing shanghai itheima
shenzhen guangzhou itheima
wuhan hangzhou itheima
zhengzhou bigdata itheima
通过文件读取操作,读取此文件,统计itheima单词出现的次数
本人代码如下:
#计数
num = 0
#打开文件
f = open('word.txt','r',encoding = 'UTF-8')
for line in f:
#分裂成单词
line_list = line.split(' ')
#逐个判断
for x in line_list:
if x == 'itheima':
num += 1
elif x == ('itheima\n'):
num += 1
print(num)
三:文件的写入
1. 写入文件使用open函数的”w”模式进行写入
2. 写入的方法有:
- wirte(),写入内容 flush()
- 刷新内容到硬盘中
3. 注意事项:
- w模式,文件不存在,会创建新文件
- w模式,文件存在,会清空原有内容
- close()方法,带有flush()方法的功能
案例如下:
四:文件的追加
1. 追加写入文件使用open函数的”a”模式进行写入
2. 追加写入的方法有(和w模式一致):
- wirte(),写入内容
- flush(),刷新内容到硬盘中
3. 注意事项:
- a模式,文件不存在,会创建新文件
- a模式,文件存在,会在原有内容后面继续写入
- 可以使用”\n”来写出换行符
五:文件操作综合案例
需求分析
需求:有一份账单文件,记录了消费收入的具体记录,内容如下:
name,date,money,type,remarks
周杰轮,2022-01-01,100000,消费,正式
周杰轮,2022-01-02,300000,收入,正式
周杰轮,2022-01-03,100000,消费,测试
林俊节,2022-01-01,300000,收入,正式
林俊节,2022-01-02,100000,消费,测试
林俊节,2022-01-03,100000,消费,正式
林俊节,2022-01-04,100000,消费,测试
林俊节,2022-01-05,500000,收入,正式
张学油,2022-01-01,100000,消费,正式
张学油,2022-01-02,500000,收入,正式
张学油,2022-01-03,900000,收入,测试
王力鸿,2022-01-01,500000,消费,正式
王力鸿,2022-01-02,300000,消费,测试
王力鸿,2022-01-03,950000,收入,正式
刘德滑,2022-01-01,300000,消费,测试
刘德滑,2022-01-02,100000,消费,正式
刘德滑,2022-01-03,300000,消费,正式
同学们可以将内容复制并保存为 bill.txt文件
我们现在要做的就是:
- 读取文件
- 将文件写出到bill.txt.bak文件作为备份
- 同时,将文件内标记为测试的数据行丢弃
实现思路:
- open和r模式打开一个文件对象,并读取文件
- open和w模式打开另一个文件对象,用于文件写出
- for循环内容,判断是否是测试不是测试就write写出,是测试就continue跳过
- 将2个文件对象均close()
代码如下:
f1 = open('bill.txt.txt','r',encoding='UTF-8')
f2 = open('bill.txt.bak','w',encoding='UTF-8')
#将文件备份到bak
for line in f1:
line = line.strip()
if line.split(",")[4] == '测试':
continue
else:
f2.write(line)
f2.write('\n')
f1.close()
f2.close()
标签:文件,01,Python,写入,2022,操作,line,itheima
From: https://blog.csdn.net/m0_74002286/article/details/143033590