文件的读取
在Python中,使用open函数可以打开一个已经存在的文件或者创建一个新文件
语法:
open(name , mode , encoding)
name : 打开文件的具体路径
mode :设置打开文件的模式(访问模式):
只读(r ,默认模式)
写入(w,如果文件存在则打开文件并从头开始编辑,原有的内容会被删除,如果文件不存在,则创建一个新文件)
追加(a,如果文件存在新的内容会被写入到末尾,如果文件不存在,则创建一个新文件进行写入)
encoding:编码格式(推荐UTF-8)
读操作:
语法: 文件对象 . read(num)
num表示从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有数据
注意:每次读取会将上一次的结束位置作为开始位置进行读取,就像一个指针一样,当然前提是同一个文件对象对象。
语法: 文件对象 . readlines()
readlines 可以按照行的方式把整个文件中的内容进行一次性的读取,并且返回的是一个列表,其中每一行的数据为一个元素
还有一个 readline() 方法,读取一行,类型为str,每调用一次读取一行,也是接着上一次结束位置开始读取。
for循环读取文件行
换行符也是一行
关闭文件对象
文件对象 . close() # 如果不关闭,文件会被python一直占用
占用过程中无法操作文件,例如在windows系统进行删除或者改名是无法完成的。
with open 语法
with open(“文件路径”,“模式” ,编码格式)as f:
f.readlines()
这种方式在读取完成之后会自动关闭文件读取对文件的占用。自动close文件
文件的写入
创建文件对象
open(name , mode , encoding)
name : 打开文件的具体路径
mode :设置打开文件的模式(访问模式):
只读(r ,默认模式)
写入 (w,如果文件存在则打开文件并从头开始编辑,原有的内容会被删除,如果文件不存在,则创建一个新文件)
追加(a,如果文件存在新的内容会被写入到末尾,如果文件不存在,则创建一个新文件进行写入)
encoding:编码格式(推荐UTF-8)
1、直接调用write,内容并未真正写入文件中,而是积攒在程序的内存中,称之为缓冲区
文件对象 . write (“文本内容…”)
2、将缓冲区的内容保存到硬盘
文件对象 . flush()
这样是避免频繁操作硬盘,导致io过载
同样的,还是需要关闭文件对象,不然程序会一直占用文件,但是这儿测试,程序结束自动关闭文件对象。
文件对象 . close() # 这个方法自带 flush 功能。
文件的追加
创建文件对象
open(name , mode , encoding)
name : 打开文件的具体路径
mode :设置打开文件的模式(访问模式):
只读(r ,默认模式)
写入 (w,如果文件存在则打开文件并从头开始编辑,原有的内容会被删除,如果文件不存在,则创建一个新文件)
追加(a,如果文件存在新的内容会被写入到末尾,如果文件不存在,则创建一个新文件进行写入)
encoding:编码格式(推荐UTF-8)
想要换行自己 加 换行符 \n