文件的读取与写入 open()的方式,你必须先用Python内置的open()函数打开一个文件,才可以调用它进行读写。这种方式注意要养成读取或写入完毕之后,加一个close()方法习惯,避免资源占用。 r模式是只读(默认模式,可以省略,省略时表示执行r模式),w写入模式,a追加写入模式,注意写入文件的 内容均为字符串类型 w模式是只用于写入,如果文件存在,直接清空原先的文本,写入新的文本,如果文件不存在,则新建写入。注意写入文件的内容均为字符串类型 a模式是追加写入,在原先文本的后面写入内容。如果原文件不存在,则新建写入。 例: #打开文件 encoding='utf-8'如果不写没有报错,就不需要写 file1=open('d:/2020826.txt','w',encoding='utf-8') file1.write('我是一个文件') #写入 file1.close() #关闭 文件打开后光标的位置移动seek() seek(offset [,from]) offset表示要移动的字节数 from表示光标从哪个位置开始移动,不写的话默认为0 第二个参数 from有3个值。 0:默认值,表示回到文件的开头。注意1,2,只有在rb模式(二进制模式)下才生效 1:表示从文件的当前位置开始统计光标位置 2:表示从文件的末尾位置开始统计光标位置 比如file1.seek(-3,2)表示光标跳转到文件末尾,然后向左偏移3位 例: file1=open('d:/file1.txt','rb') file1.seek(-3,2) #表示将光标跳转到文件末尾,然后向左偏移三位开始读取 file1.close()
读写操作 r+ w+ a+
w+删除以前的内容,写入新的内容,如果找不到文件创建文件写入 r+覆盖以前的内容,如果找不到文件,则报错 注意:和w+区别是,r+从文件开头位置开始一边写入一边清空,w+是彻底删除后写入 a+接着以前的内容往后写,如果找不到文件创建文件 file1=open('d:/323.txt','r+') file1.write('电风扇') file1.seek(0) file1.close() 再介绍一种写法 with open,它不需要我们自己写close方法关闭,比较好用,用法的话和open等同还可以打开多个文件 with open('d:/123.txt','r+') as file1: #打开文件并起别名file1 file1.write('电风扇') file1.seek(0) print(file1.read())
关于splitlines()、readline()、readlines()用法
splitlines() 读取文件所有的内容,以‘行’为单位返回列表
# splitlines是否保留换行符('
', '
',
')默认为为False,不包含换行符,如果为 True,则保留换行符。
![](https://img2020.cnblogs.com/blog/2110489/202008/2110489-20200826161610833-1946431711.png)
readline() 一次读取文件中一行内容,里面可以有一个参数表示读取几个字符,返回字符串。如果执行两次readline(),中间会有一个空行
readlines() 一次读取整个文件,其返回值是一个列表,每一行为一个元素