#文件初识 # open(file) 内置函数 底层层调用的是操作系统的的接口 #f1, 变量 f1,fh,file_handler,f_h ,文件句柄。 对文件进行任何操作, 都得通过文件句柄 #encoding 也可以不写参数 ,默认编码本:操作系统的默认编码本 #Windows: gbk # linux : utf-8 #mac : utf - 8 #f1.close() 关闭文件句柄 # 文件操作的3个流程 # 1, 打开文件 # 2 ,对文件句柄进行相应的操作 # 3,关闭文件 #如果出现找不到的情况在路径前面加上r 在盘符后面加上\ (最好加r)
# f = open("d:\\openresty\详情请看.txt",encoding="utf-8") # content = f.read() # print(content) # f.close()
#文件的操作读 #r, rb, r+b #r, rb 模式也有read read(n) readline(),readlines() for循环这几种方法 # read 全部读出来 适用于小型文件 #readline 一行一行的读 适用于小型文件 #readlines 返回一个列表 , 列表每个元素是源文件的每一行 适用于小型文件 # for 循环读取 适用于大型文件 # f = open("文件的位置.txt",encoding="utf-8") 没有加mode="r"为默认为读加也一样 # 例子 for lien in f: # for 变量 in 定量: # print(lien) #循环变量 # f.close() # 关闭文件句柄 # rb, 操作非文本的文件 把mode = "r"的r换成rb 不用加encoding="utf-8" #r+b
# f open('文件的位置.txt',encoding="utf-8",mode="w" ) # content = f.read() # f.write # f.close() #如果文件存在,先清空原文件内容,写入新的内容
#文件的操作写 #w,wb, w+,w+b四种模式 #w #如果文件存在,先清空原文件内容,写入新的内容 #例 # f1 = open("d:\openresty\详情请看.txt",encoding="utf-8",mode="w") # f1.write("追加的内容") # f1.close()
#文件的操作追加 #a, ab ,a+ ,a+b #a #没有文件创建文件,追加内容
#例 # f1 = open("d:\openresty\详情请看.txt",encoding="utf-8",mode="a") # f1.write("追加的内容") # f1.close() #文件的读写 # "r+"" 文件的读写 (先读后写, 顺序不能错) # f1 = open("d:\openresty\详情请看.txt",encoding="utf-8",mode="a")
#例题 #content = f.read() #先读 #print(content) # f1.write("追加的内容") #后追加 # f1.close() # 关闭文件句柄
#文件的其他模式 #r+ #文件的读写 (先读后写, 顺序不能错)
#相应的功能: # 对文件句柄的操作: read read(n) readline() readlines() write() tell() #tell() 获取光标的位置 单位 字节 !! #seek() 调整光标的位置 !! #fulsh() 强制刷新
#打开文件的另一种方式 # with open('文件的读'encoding="utf-8") as f1: # print(f1) #优点1 不用手动关闭文件句柄 #优点2 # # with open('文件的读'encoding="utf-8",) as f1.\ # open('文件的读'encoding="utf-8",) as f1 : #缺点: #打开文件的另一种方式 #1, 以读的模式打开原文件 #2, 以写的模式创建一个新的文件 #3, 将原文件的内容读出来修改成新的内容,写人新的文件 #4, 将原文件删除 #5, 将新文件命名成原文件
##有关清空的问题: #关闭文件句柄,再次以w模式打开此文件时,才会清空。