文件和数据格式化
文件的打开和关闭
- 内置函数open()可以用指定模式打开指定文件并创建文件
- 使用方法: with open(“文件路径及文件名”,‘模式’) as 变量名:
- 注: 路径中由于\是转义符,所以表示路径时,使用\或/
- 全部模式如下:
- r:只读模式,如果文件不存在,返回异常FileNotFoundError,默认值
- w:覆盖写模式,文件不存在则创建,存在则完全覆盖源文件
- x:创建写模式,文件不存在则创建,存在则返回异常FileExistsError
- a:追加写模式,文件不存在则创建,存在则在原文件最后追加内容
- b:二进制文件模式
- t:文本文件模式,默认值
- +:与r/w/x/a一同使用,在原功能基础上增加同时读写功能
- 打开模式中,r、‘w’、x’、‘a’可以和"b’、‘t、’+'组合使用,形成既表达读写又表达文件模式的方式。
- 文件使用结束后要用close()方法关闭,释放文件占用的内存
文件的读写
- .read():从文件中读入整个文件内容
- 参数可选,如果给出则读入前size长度的字符串或字节流。其结果是一个字符串。
with open('路径', 'r') as txt:
print(txt.read())
txt.close()
- .readline(): 从文件中读入一行内容
- 参数可选,如果给出则读入该行前size长度的字符串或字节流。其结果是一个字符串。
with open('路径', 'r') as txt:
print(txt.readline())
txt.close()
- .readlines(): 从文件中读入所有行,以每行为元素形成一个列表。
- 参数可选,如果给出,则读入给出的行
with open('路径', 'r') as txt:
print(txt.readlines())
txt.close()
-
文件打开后,对文件的读写有一个读取指针,当从文件中读入内容后,读取指针将向前进,再次读取的内容将从指针的新位置开始
-
.seek(offset): 改变当前文件操作指针的位置,offset的值(0: 文件开头; 2: 文件结尾)
-
.write():单行写入,将一个字符串写入文件
with open('路径', 'w') as txt:
print(txt.write("我是刚写入的字符串"))
txt.close()
- 多行写入
with open('路径', 'w') as txt:
print(txt.write("我是第一行"))
print(txt.write("我是第二行,但我没换行"), '\n')
print(txt.write("我是第三行,我换行了"))
txt.close()
- .writelines():直接将列表类型的各元素连接起来并写入
ls = ['我是第一个元素\n', '我是第二个元素']
with open('路径', 'w') as txt:
txt.writelines(1s)
txt.close()
遍历文件
- 从文本文件中逐行读入内容并进行处理是一个基本的文件操作需求。文本文件可以看成是由行组成的组合类型,因此,可以使用遍历循环逐行遍历文件。
with open('路径', 'r') as txt:
print(txt.readlines())
for x in txt:
print(x)
txt.close()