6.1 .1文件读取操作
''' 演示对文件的读取 '''# 打开文件 import timef = 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 timewith 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 = 0for line in f:line = line.strip() #去除开头结尾的空格和换行符line1 = line.split(' ')for word in line1 :if word == 'itheima':count += 1print(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 timef = 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