文件操作
打开文件的模式有:
- r,只读模式(默认)。
- w,只写模式。【不可读;不存在则创建;存在则删除覆盖内容;】
- a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
读到内存中
print(open('Log',encoding='UTF-8').read()) #以UTF-8的格式读文件
f = open('Log',encoding='UTF-8') #找到Log文件
data = f.read() #以UTF-8的格式读文件
data.replace('2月28日','xxxxx') #修改Log文件中的2月28日为xxxx(读出来的是字符串,只能替换)
data = data.replace('2月28日','xxxxx') #将修改后的内容重新赋值
print(data)
f.write(data) #将修改后的内容写回到Log文件,即保存修改内容
'''
f.write(data)
io.UnsupportedOperation: not writable
'''
1 #1、创建文件 2 f = open('cwb',mode='w',encoding='utf-8') 3 data = f.write('cwb is hero okok kkkkk') 4 5 f.close() 6 7 fr = open('cwb',mode='r',encoding='utf-8') 8 data = fr.read() 9 print(data) 10 fr.close() 11 12 # 2、追加文件 13 fa = open('cwb',mode='a',encoding='utf-8') 14 data = fa.write('nzhcwb001') 15 data = fa.write('\n 1111111111111') 16 print(data)
3、对文件进行修改
'''
思路:
1、先以只读模式打开文件,再以写的模式新创建1个文件
2、在逐行去读,把读到的每一行写到新的文件中
3、在把原来的文件删掉,将新的文件重命名为原来的文件
'''
import os #使用文件删除、重命名需要引入OS模块
f_old = open('Log',mode='r',encoding='utf-8')
f_new = open('log_new',mode='w',encoding='utf-8')
for line in f_old:
if '月' in line:
line = line.replace('月','mmmmmmmmmmm')
f_new.write(line)
f_old.close() #保存关闭
f_new.close()
os.remove('Log')
os.rename('log_new','log')
4、文件读取
f = open('file1',mode='r',encoding='utf-8')
first = f.readline() #逐行读,读的第一行
print(first)
first = f.readline() #逐行读,读的第二行
print(first)
#循环读
f = open('file1',mode='r',encoding='utf-8')
for line in f:
print(line)
5、模糊查找
f = open('file1',mode='r',encoding='utf-8')
for line in f:
if 'wel' in line:
print(line)