python文件

文件的打开模式

'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")
二进制形式、覆盖写模式


文件内容的读取(3种方法)

f.read(size=-1) 读入全部内容,如果给出参数,读入前size长度
f.readline(size=-1) 读入一行内容,如果给出参数,读入该行前size长度
f.readlines(hint=-1) 读入文件所有行,以每行为元素形成列表,如果给出参数,读入前hint行


文件的遍历全文本操作

方法一:一次读入,统一处理

f = open("test.txt", "r")
txt = f.read()
print(type(txt))    #<class 'str'>
print(txt)          #将读入的文本打印出来
f.close()

方法二:分批读入处理

f = open("test.txt", "r")
txt = f.read(2)
while txt != "":
    txt = f.read(2)
    print(txt)  #每次打印出2个字符
f.close()

文件的逐行操作

方法一:一次将整个文件读入,然后分行处理,大文件可能比较占用内存

f = open("test.txt", "r")
print(type(f.readlines())) # <class 'list'> readlines()返回的是列表
f.seek(0)
for line in f.readlines():
    print(line)
f.close()

方法二:一次读一行,处理一行,粗粒度,节省内存,更常用

f = open("test.txt", "r")
for line in f:
    print(line)
f.close()

文件的写入(2种方法,1个辅助)

f.write(s) 向文件写入一个字符串或字节流
f.writelines(lines) 讲一个元素全为字符串的列表写入文件

f = open("test.txt", "w")
list = ["哈喽","嗨","你好"]
f.writelines(list)
f.close()

f.seek() 改变文件操作指针的位置0开头,1当前,2结尾

f.seek(0)  #回到文件开头
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.1文件操作介绍I/O IO 操作是相对于内存进行 in 输入,读入。从硬盘中读到内存 out 输出。从内存写到...
    PythonMaO阅读 544评论 0 0
  • 搬运https://www.cnblogs.com/ymjyqsx/p/6554817.html python文件...
    夕阳下的不回头阅读 1,189评论 0 0
  • 文件读写是每一门编程语言的最基本的核心功能,有了文件读写功能,才能方便地存储和读取数据。 文件读写 假如当前工作目...
    m2fox阅读 5,338评论 0 3
  • 2003年春节过后,当我们还沉浸在春暖花即将开的愉悦中时,一场没有硝烟的战争悄悄的降临了。不知从什么时候开始,整个...
    楚墨瞳阅读 580评论 0 0
  • 瀚然冰雨撞斷,大夢亦是深淵。聽卻了半曲高山,無艷同子期共殮。便去罷?便去罷。更只堪,效太白宴影,只笑孰與癡癲。
    珀溦阅读 286评论 0 0

友情链接更多精彩内容