文件操作
文件的使用
- 文件的使用方式:打开-操作-关闭
- 文本文件&二进制文件,open( , )和.close()
- 文件内容的读取:.read() .readline() .readlines()
- 数据的文件写入:.write() .writelines() .seek()
# 'r' 只读模式,默认值,如果文件不存在,返回FileNotFoundError # 'w' 覆盖写模式,文件不存在则创建,存在则完全覆盖 # 'x' 创建写模式,文件不存在则创建,存在则返回FileExistsError # 'a' 追加写模式,文件不存在则创建,存在则在文件最后追加内容 # 'b' 二进制文件模式 # 't' 文本文件模式,默认值 # '+' 与r/w/x/a一同使用,在原功能基础上增加同时读写功能 # f = open("f.txt") #- 文本形式、只读模式、默认值 # f = open("f.txt", "rt") #- 文本形式、只读模式、同默认值 # f = open("f.txt", "w") #- 文本形式、覆盖写模式 # f = open("f.txt", "a+") #- 文本形式、追加写模式+ 读文件 # f = open("f.txt", "x") #- 文本形式、创建写模式 # f = open("f.txt", "b") #- 二进制形式、只读模式 # f = open("f.txt", "wb") #- 二进制形式、覆盖写模式 # #文本形式打开文件 # tf = open("f.txt", "rt") # print(tf.readline()) # tf.close() # # #二进制形式打开文件 # bf = open("f.txt", "rb") # print(bf.readline()) # bf.close() # 操作方法 描述 # <f>.read(size=-1) # 读入全部内容,如果给出参数,读入前size长度 # >>>s = f.read(2) # 中国 # <f>.readline(size=-1) # 读入一行内容,如果给出参数,读入该行前size长度 # >>>s = f.readline() # 中国是一个伟大的国家! # <f>.readlines(hint=-1) # 读入文件所有行,以每行为元素形成列表 如果给出参数,读入前hint行 # >>>s = f.readlines() # ['中国是一个伟大的国家!'] # fname = input("请输入要打开的文件名称:") # fo = open(fname,"r") # txt = fo.read() # #对全文txt进行处理 # fo.close() # fname = input("请输入要打开的文件名称:") # fo = open(fname,"r") # txt = fo.read(2) # while txt != "": # #对txt进行处理 # txt = fo.read(2) # fo.close() # fname = input("请输入要打开的文件名称:") # fo = open(fname,"r") # for line in fo.readlines(): # print(line) # fo.close() # fname = input("请输入要打开的文件名称:") # fo = open(fname,"r") # for line in fo: # print(line) # fo.close() # # 向文件写入一个字符串或字节流 # # <f>.write(s) # >>>f.write("中国是一个伟大的国家!") # # # 将一个元素全为字符串的列表写入文件 # # <f>.writelines(lines) # >>>ls = ["中国", "法国", "美国"] # >>>f.writelines(ls) # 中国法国美国 # <f>.seek(offset) # 改变当前文件操作指针的位置,offset含义如下: # 0 – 文件开头; 1 – 当前位置; 2 – 文件结尾 # f.seek(0) #回到文件开头 # Windows从硬盘读取文件默认GBK # Linux和Mac默认utf-8 # Python3里内存的数据编码是unicode,前提是内容是文本,不是图片之类的 # t模式读写是以字符串为单位,也就是unicode # 存到硬盘需要编码为其他编码,最好是utf-8 # Windows上文件路径用的是反斜杠,需要转义,那两个平台不需要 # Windows 换行 \r\n # Linux \n # Mac 以前用\r 现在是\n # Python会自动转换 # 一次修改多行,shift +alt 选择要删除的地方,然后输入 # 将文本数据编码,英文数字 b'12dg' 也可以用下边的 # 含有中文 bytes ('你好',encoding='utf-8') # '你好'.encoding('utf-8') # 文件 只有t模式read(n)的n是字符,其他都是字节 # seek的12模式都不能在t模式下使用,0模式可以用,但是一般不用 # fo = open("output.txt","w+") # ls = ["中国","法国","美国"] # fo.writelines(ls) # for line in fo: # print(line) # fo.close() # fo = open("output.txt","w+") # ls = ["中国","法国","美国"] # fo.writelines(ls) # fo.seek(0) # for line in fo: # print(line) # fo.close()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!