PythonDay07
文件操作
操作流程
1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件
f=open('青玉案','r',encoding='utf8') #相对路径或绝对路径,对应的操作
data=f.read()
print(data)
f.close()
f=open('青玉案1','w',encoding='utf8') #写操作执行前默认清空文件内容
f.write('hello world')
f.write('alex')
f=open('青玉案1','a',encoding='utf8') #a是追加
f.write('\nhello boy \n')
f.write('goto')
f.close()
文件操作方法
f=open('青玉案','r',encoding='utf8')
print(f.readline()) #每次读出一行内容
print(f.readlines()) #读取整个文件所有行,保存在一个列表变量中
print(f.tell()) #打印当前光标位置
f.seek(0) #调光标位置
f=open('hello','w')
f.write('hello world')
f.flush() #把缓冲区中的内容放到磁盘中
#with同时管理多个文件对象
with open ('log1','r') as f_read,open ('log2','w') as f_write:
for line in f_read:
f_write.write(line)
r+,w+,a+
f=open('青玉案','r+',encoding='utf8') #可读写,读和写的光标不一致,此时无法写入
number=0
for line in f:
number+=1
if number==5:
line=''.join((line.strip(),'ls'))
f.close()
解决方法 重新创建一个文件,将原来拷贝过来并修改
f_read=open('青玉案','r',encoding='utf8')
f_write=open('青玉案1','w',encoding='utf8')
number=0
for line in f_read:
number+=1
if number==5:
line='hi'
f_write.write(line)
f_read.close()
f_write.close()