对文件的操作命令
文件处理概念:
打开文件
open('路径','打开方式','指定编码方式')
打开方式有 r、w、a、r+、w+、a+,特殊方式:b
编码方式——utf-8
操作文件
读
read 一次性读(文件太大,会占用很多内存)
readlines 一行一行读
readlines一次性读(不知道在哪儿结束)
视频 图片 读取时需要用rb, 以bytes字节读取
for循环——读取最好
写
write
光标——文件指针
seek 制定光标移动到某个位置
tell 获取光标当前的位置
truncate 在源文件内截取文件并保存到源文件中
关闭文件
close
修改文件
文件是不能修改的
若需要修改,则:
with open ('小护士班主任',encoding='utf-8') as f,open('小护士班主任.bak','w',encoding='utf-8'): 不写打开方式,则默认为r for line in f: if '星儿' in line: line = line.replace('星儿','阿娇') f2.write(line) import os os.remove('小护士班主任') 删除 os.rename('小护士班主任.bak','小护士班主任') 重命名
文件修改替换:
绝对路径打开文件
f = open('d:\模特主妇护士班主任.txt',mode='r',encoding='UTF-8') 利用绝对路径,以只读模式,按照UTF-8的编码打开文件 content = f.read() print(content) f.close()
相对路径打开文件
f = open('模特主妇护士班主任',mode='r',encoding='utf-8') content=f.read() f.write('fjsdlk') f.close()
其他打开方式(str——bytes)
f=open('模特班主任主妇',mode='rb') 以bytes为单位读取 conten=f.read(read) print(content) f.close() f=open('log',mode='r+',encoding='utf-8') print(f.read()) f.close()
写入并覆盖内容
f = open('log',mode='w',encoding='utf-8') f.write('骑兵步兵') 假设源文件是有内容的,则该操作所写内容将会覆盖原内容 f.close()
选择光标在文件中的位置
f=open('log',mode='w+',encoding='utf-8') f.write('aaa') f.seek(0) 把光标挪到0的位置上 print(f.read()) f.close
写入并增加内容
f=open('log',mode='a',encoding='utf-8') f.write('aaabbbccc') f.close()
f = open('log',mode='a+',encoding='utf-8') f.write('佳琪') f.seek(0) print(f.read()) f.close()
功能详解
obj = open('log',mode='r+',encoding='utf-8') content = f.read(3) 读出来的都是字符 f.seek(3) 是按照字节定光标的位置 f.tell() 告诉你光标的位置 print(f.tell()) content = f.read() print(content) f.tell() f.readable() 是否可读 line = f.readline() 一行一行的读 line = f.readlines() 每一行当成列表中的一个元素,添加到list中 f.truncate(4) for line in f: print(line) f.close()
其他打开文件的方式
with open('log',mode='r+',encoding='utf-8') as f: open('log',mode='w+',encoding='utf-8') as f1:

浙公网安备 33010602011771号