我的python菜鸟之路5,,----------
我的python菜鸟之路5,,----------
-----------------------------------------文件的操作(1)---------------------------------------------------
同级文件的只读,文件不存在报错
file=open(‘wenjian‘,mode=‘r‘,encoding=‘utf-8‘)content = file.read()print(content)file.close()
同级文件的只写,文件不存在便新建一个
file=open(‘wenjian‘,mode=‘w‘,encoding=‘utf-8‘)content = file.write(‘杨子列‘)file.close()
当文件运行只写的时候,原文件会被清空,此时应该慎重,
追加内容
在尾部追加,不能读取,文件不存在便新建一个file=open(‘wenjian‘,mode=‘a‘,encoding=‘utf-8‘)content = file.write(‘杨子列‘)file.close()
可读可写
读取写入:从当前光标位置开始写入,会将后面的内容覆盖(只覆盖写入内容所占的字节)r+file=open(‘wenjian‘,mode=‘r+‘,encoding=‘utf-8‘)file.seek(3) #光标移动到第三个字节后。也就是往后移动一个汉字,如果是两个字节处,便是乱码# content = file.read()content = file.write("狼") #因为read读到最后,所以write所添加的内容在最后file.close()
w+默认光标在最后,当打开时就是从0开始,因为清空写入时会将文件覆盖,读取时需要调整光标file=open(‘wenjian‘,mode=‘w+‘,encoding=‘utf-8‘) #打开文件并清空content = file.read()print(content)file.write("狼")file.seek(0) #将光标移动至初始位置,否则无法读出data = file.read()print(data)file.close()
a+默认光标在最后,读的时候可通过改变光标的位置进行读取,只要写的时候比在最后追加file=open(‘wenjian‘,mode=‘a+‘,encoding=‘utf-8‘) #打开文件并清空content = file.read()print(content)file.write("yang") #只要写入,必从最后开始,调整光标也没用file.seek(0) #将光标移动至初始位置,否则无法读出data = file.read() #读取时默认也在最后print(data)file.close()
内存相关操作
file=open(‘wenjian‘,mode=‘r‘,encoding=‘utf-8‘)file.seek(3)#第三个字节后content = file.read(2)#从当前光标位置再往后读取两个字符print(content)
file=open(‘wenjian‘,mode=‘r‘,encoding=‘utf-8‘) content = file.readlines()print(content)#读取文件中的所有内容到内存,并按照每一行分割至列表中
当读取一个较大的文件时
file=open(‘wenjian‘,mode=‘r‘,encoding=‘utf-8‘)for lin in file: lin = lin.strip()#不但可以消除空格,还可以消除换行符 print(lin)
文件的写入相关操作
file=open(‘wenjian‘,mode=‘w‘,encoding=‘utf-8‘)file.write("小黑\n")file.write("小红")data = file#输出小黑小红
我的python菜鸟之路5
评论关闭