Python——文件
文件编码
编码技术即翻译规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回可识别内容。
计算机中有许多可用编码:
- UTF-8 ,目前全球通用的编码格式。
- GBK
- Big5
- 等
不同编码,将内容翻译成二进制也是不同的。
文件可分为文本文件按,视频文件,音频文件,图像文件,可执行文件等多种类别。
文件操作主要包括打开,关闭,读,写。
文件的打开——open函数
语法:open(name,mode,encoding)
- name:是要打开的目标文件名的字符串(可以包含文件所在的具体路径)
- mode:设置打开文件的模式,只读【r】,只写【w】,追加【a】等。
- encoding:编码格式(一般使用UTF-8)
文件的读取——read函数
- 语法:文件对象.read(num)
num表示要从文件中读取数据的长度(字节),若没有传入num,则表示读取文件中的所有数据。 - 语法:文件对象.readlines()
readlines方法可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行数据为一个元素。 - 语法:文件对象.readline()
一次读取一行 - for循环读取文件行
for line in open("test.txt"):
print(line)
#每个line的临时变量,记录了文件的一行数据
文件的关闭——close()函数
语法:文件对象,close()
另外,通过with open语句块中对文件进行操作,可以在操作完成后自动关闭close文件,避免遗忘掉close方法。
例如:
with open("test.txt","r") as f:
f.readlines()
文件的写入——write()方法
语法:文件对象.write(写入内容)
例如:
#打开文件
f = open('python.txt','w')
#写入文件
f.write('hello word')
#内容刷新
f.flush()
注意:
- 直接调用write,内容并未真正写入文件,而是会积攒在程序内存中,称之为缓冲区。
- 当调用flush的时候,内容会真正写入文件。
这样做是避免频繁的操作硬盘,导致效率下降。 - 当用w模式打开文件进行操作时,若文件不存在,则会自动创建相应的文件;若文件存在,会将文件的内容清空再写入。
文件的追加——a模式
语法:文件对象.append(追加内容)
#用追加模式打开文件
f.open('python.txt','a')
#文件写入
f.write('\n我是程序员')
f.flush()
f.close()
注意:
- a模式,文件不存在会创建文件;文件存在会追加文件。