思维导图
代码
1. 文件编码
2. 文件的读取
① open()打开函数
# f是open函数的文件对象,对象是python中的一种特殊的数据类型,
# 拥有属性和方法,可以使用对象、属性或对象.方法对其进行访问
f = open("python.py", "r", encoding="utf-8")
print(type(f)) # <class '_io.TextIOWrapper'>
② 读取文件
read():
f = open('python.py')
print(f.read(10))
# 输出:f = open('
readlines():
f = open('python.py')
content = f.readlines()
print(content)
# 输出:["f = open('python.py')\n", 'content = f.readlines()\n', 'print(content)\n', 'f.close()']
f.close()
readline():
# readline()一次读取一行
f = open('python.txt')
content = f.readline()
print(f"第一行:{content}")
content = f.readline()
print(f"第二行:{content}")
f.close()
for循环读取文件行:
for line in open("python.py","r"):
print(line)
# 输出
# for line in open("python.py","r"):
# print(line)
with open语法:
with open('python.py', 'r') as f:
f.readlines()
· 练习:单词计数
通过Windows的文本编辑器软件,将如下内容,复制并保存到:word.txt,文件可以存储在任意位置
itheima itcast python
itheima python itcast
beijing shanghai itheima
shenzhen guangzhou itheima
wuhan hangzhou itheima
zhengzhou bigdata itheima
通过文件读取操作,读取此文件,统计itheima单词出现的次数
f = open("D:/Desktop/python/word.txt","r")
# 方式1:读取全部内容,通过字符串count方法统计itheima单词数量
content = f.read()
print(content)
num = content.count("itheima")
print("itheima出现了",num,"次")
# 方式2:一行行读取内容
count = 0
for line in f:
line = line.strip() # 去除开头和结尾的空格以及换行符
words = line.split(" ")
print(words)
for word in words:
if word == "itheima":
count += 1
print("itheima出现了",count,"次")
f.close()
# 输出:itheima出现了 6 次
3. 文件的写操作
f = open("D:/Desktop/python/word.txt","w")
# 写入
f.write("hello world")
# 刷新
f.flush()
f.close()
运行结果:
4. 文件的追加
(1)不存在的文件
# 打开文件,不存在的文件
f = open("file.txt", "a", encoding="utf-8")
# write写入
f.write("hello world")
# flush刷新
f.flush()
# close关闭
f.close()
运行后,.txt文件会写入“hello world”
(2)存在的文件
# 打开存在的文件
f = open("file.txt", "a", encoding="utf-8")
# write写入
f.write("黑马程序员")
# close关闭
f.close()
运行后,.txt文件会写入"黑马程序员”,变成:hello world黑马程序员
5. 文件操作综合案例
需求分析:
需求:有一份账单文件,记录了消费收入的具体记录,内容如下:
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文件
实现思路:
1.open和r模式打开一个文件对象,并读取文件
2.open和w模式打开另一个文件对象,用于文件写出
3.for循环内容,判断是否是测试,不是测试write写出,是测试continue跳过
4.将2个文件对象均close()
fr = open("D:/Desktop/python/bill.txt", "r", encoding="utf-8")
fw = open("D:/Desktop/python/bill.txt.bak", "w", encoding="utf-8")
# for循环读取文件
for line in fr:
line = line.strip()
if line.split(",")[4] == "测试":
continue
# 写入
fw.write(line)
fw.write("\n")
# 关闭文件
fr.close()
fw.close()
标签:文件,01,python,2022,操作,open,itheima
From: https://blog.csdn.net/m0_54447321/article/details/140301210