Python使用中,我们经常需要对文件进行读写等 *** 作,如何才能实现呢?
进入正题之前,让我们先了解一下何为文件。
文件是数据的抽象和集合,是存储在存储器上的数据序列,是数据存储的一种形式,是存储区域的某个命名位置,便于后续访问。文件通常以二进制形式存储,有两种展现形态:文本文件(由单一特定编码组成,如UTF-8编码)和二进制文件(由比特0、1组成,没有统一编码)。常见的.txt,.py等扩展名文件均为文本文件,.png,.avi等均为二进制文件。
例如:对于同一段文字“一起向未来”,其展现形态分别为:
#文本文件输出 一起向未来 #二进制文件输出 b'xe4xb8x80xe8xb5xb7xe5x90x91xe6x9cxaaxe6x9dxa5'
当我们要读取或者写入文件时,我们需要打开文件;在 *** 作完毕后,我们需要关闭文件,以便释放和文件 *** 作相关的系统资源。因此,文件 *** 作的主要包括以下:
打开文件读取或者写入关闭文件
1、文件的打开
Python通过内置函数open()打开目标文件(主名+扩展名),并返回一个文件对象,也叫句柄(handle)。
其中文件的路径也就是存放文件的位置有相对路径和绝对路径之分。相对路径表示从当前目录( ./ )开始定位,如:./documents/file.txt,若当前程序与目标文件在同一目录,则直接输入文件名。绝对路径则表示从根目录( / )开始定位,如:D:/documents/file.txt。
注意,windows系统下文件位置默认以反斜杠( )表示,但该符号在python中为转义符,需以双反斜杠( \ )或直接以斜杠( / )表示。
常用文件打开模式
2、文件的关闭
一般情况下程序正常退出时,python解释器也会自动关闭目标文件。
3、文件的读写 *** 作
以当前目录下文件f.txt为例,内容“一起向未来”“Together for a Shared Future”两行。
读入size前部分内容,()为全部。
>>> open('f.txt').read(2)
'一起'
读入第一行size前部分内容,包含回车符,()为整行。
>>> open('f.txt').readline()
'一起向未来n'
读入前hint行,以每行为元素,形成列表,()为读入所有行。
>>>open('f.txt').readlines()
['一起向未来n','Together for a Shared Futuren']
向文件写入字符串或字节流
>>>open('f.txt','a').write('冬季奥运会n')
6
将一个元素全为字符串的列表行写入文件,当前行自行首起覆盖相应字符。
>>> open('f.txt','a').writelines(['2022n','中国n','北京'])
>>> open('f.txt').readlines()
['一起向未来n', 'Together for a Shared Futuren', '冬季奥运会n', '2022n', '中国n', '北京']
采用遍历的方法,综合上述部分 *** 作:
f=open('f.txt','a+') f.write('冬季奥运会n') f.writelines(['2022n','中国n','北京']) f.seek(0) for line in f: print(line) f.close()
输出结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)