6.1 .1文件读取操作
'''
演示对文件的读取
'''
# 打开文件
import time
f = open('02_word.txt', 'r', encoding="UTF-8")
print(type(f))
# #读取文件 - read()
# print(f'读取10个字节的结果{f.read(10)}')
# print(f'读取全部字节的结果{f.read()}')
# #读取文件 - readLines()
# lines = f.readlines() #读取文件的全部行,并封装到列表中
# print(f'lines对象的类型是{type(lines)},{lines}')
# 读取文件 - readLine()
line1 = f.readline() # 读取文件的一行
print(f'lines对象的类型是{type(line1)},{line1}')
# for循环读取文件每一行
for line in f:
print(f'每一行数据{line}')
# 文件的关闭
f.close()
# time.sleep(50000)
# with open 方法操作文件
import time
with open('02_word.txt', 'r', encoding="UTF-8") as f:
for line in f:
print(f'每一行数据是:{line}')
time.sleep(2)
6.1.2文件读取操作的基本案例

'''
itheima itcast python itheima python itcast beijing shanghai itheima shenzhen guangzhou itheima wuhan hangzhou itheima zhengzhou bigdata itheima
'''
#方法一
with open('02_word.txt', 'r', encoding="UTF-8") as f:
count = 0
for line in f:
line = line.strip() #去除开头结尾的空格和换行符
line1 = line.split(' ')
for word in line1 :
if word == 'itheima':
count += 1
print(f'itheima 出现了{count}次')
#方法二
with open('02_word.txt', 'r', encoding="UTF-8") as f:
conent = f.read()
count = conent.count('itheima')
print(f'itheima 出现了{count}次')
6.2.1 文件的写入操作
'''
演示函数的写入
'''
#打开文件,不存在的文件 如果文件不存在,则创建文件,写入内容
import time
f = open('03_test.txt','w',encoding='UTF-8')
#write写入
f.write('Hello Python!!!!')
#flush刷新
# f.flush()
f.close() #close方法,内置了flush功能
#打开已存在的文件 文件存在,则清空原有内容在写入新内容
f = open('03_test.txt','w',encoding='UTF-8')
f.write('黑暗面')
f.close() #close方法,内置了flush功能
6.3.1 文件的追加写入操作
'''
演示文件的追加写入操作
'''
#打开文件,不存在的文件
with open('04_test.txt','w',encoding='UTF-8') as f:
#write写入内容
f.write('python')
with open('04_test.txt','a',encoding='UTF-8') as f: #如果文件存在,则在a模式下不会清空原有内容,只会在原有内容后加入新内容
#write写入内容
f.write('\n学习')
6.4.1 文件的综合操作案例


'''
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,消费,正式
'''
#打开文件,准备读取
with open('05_测试.txt', 'r', encoding='UTF-8') as f:
# 打开文件,准备写入
with open('05_测试.txt.bak', 'w', encoding='UTF-8') as f_1:
for line in f:
#去掉开头结尾空格和转换符
line = line.strip()
# #将数据按照‘,’分割开来,并变化为列表形式
# line = line.split(',')
# #判断数据结尾是否为 正式
# if line[-1] == '正式':
# #将列表转换为字符串
# line = str(line)
if line.split(',')[-1] == '正式': #简短写法
f_1.write(line)
f_1.write('\n')
else:
continue

















