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