Python3笔记--文件操作

it2024-10-11  32

emmm,直接开始罢...

打开文件

open(path,flag[,encoding][,error]) path:要打开文件的路径 flag:打开方式 r 只读 r+ 读写 rb 以二进制格式打开一个文件用于只读 w 写入,先删除原内容,再写入,没有此文件则创建 w+ 读写,先删除原内容,再写入,没有此文件则创建 wb 以二进制格式打开一个文件用于写入,可以用于从网络下载流媒体文件 a 写入追加,没有此文件则创建 a+ 读写,追加,没有此文件则创建 encoding:编码方式 errors:错误处理

 

读文件内容

f = open('好吗好的.txt','r',encoding='utf-8') #1、读取文件全部内容 #str1=f.read() #print(str1) #2、读取指定字符数 str2=f.read(100) print('------start-------') print(str2) print('------end-------') ------start------- 好吗好的 作  者:大 冰 出 版 人:刘清华 责任编辑:薛 健 刘诗哲 监  制:毛闽峰 李 娜 策划编辑:李 娜 文案编辑:王 静 营销编辑:杜 莎 贾竹婷 雷清清 本书由天津博集新媒科技有限 ------end------- #3、读取一行,包括'\n'字符 str3=f.readline() print('------start-------') print(str3) print('------end-------') ------start------- 公司授权亚马逊全球范围发行 ------end------- #读取所有行并返回列表,列表中每个元素以'\n'结尾 #list1=f.readlines() #print(list1) #循环遍历文件对象来读取文件中的每一行 for line in f: print(line, end='') #修改描述符的位置 f.seek(0) #注意:描述符会随着文件的读取而往后退

 

写内容到文件

程序将信息写入缓冲区,在刷新缓冲区之后才会将内容写入文件 刷新缓冲区几种方式.. 1、用flush()函数 2、当内存塞满 3、关闭文件时 path="ProudOfYou_1.txt" f=open(path,"w") f.write("sunck is a good man") f.flush() #这方法能成功写入文件,以防后面代码出错而导致内容没有写入,但是最好要关闭文件 path="ProudOfYou_2.txt" f=open(path,"w") f.write("sunck is a good man") f.close() #可以正常写入

 

关闭文件

f.close()

 

完整的过程

try: f1=open('好吗好的.txt',"r",encoding="utf-8") print(f1.read()) finally: if f1: f1.close()

 

另一种方法(建议使用这种方法来读写文件)

with open(path,"r",encoding="utf-8") as f2: print(f2.read()) #这个打开文件的方法,最后会自动关闭文件,省事~

 

list-tuple-dict-set的文件操作

import pickle #使用pickle模块你可以把Python对象直接保存到文件 myList=[1,2,3,4,5,"sunck is a good man"] path="file3.txt" #写入 f=open(path,"wb")#因为myList不是字符串所以要以wb方式写入 pickle.dump(myList,f) f.close() #读取 f1=open(path,"rb") tempList=pickle.load(f1) print(tempList) print(type(tempList)) f1.close() #[1, 2, 3, 4, 5, 'sunck is a good man'] #<class 'list'>#其他序列的保存方式亦是类似,就不一一展示了。

 

 

转载于:https://www.cnblogs.com/byadmin/articles/foundation-6.html

最新回复(0)