1、操作文本
要在Python中打开一个文件,使用open()函数,第一个参数是文件名,第二个参数是打开模式
模式 | 说明 |
r | 打开文件以读取数据 |
w | 打开文件以写入数据 |
a | 打开文件以添加数据 |
r+ | 打开文件以读取和写入数据 |
w+ | 打开文件以写入和读取数据 |
a+ | 打开文件以添加和读取数据 |
写入到文本文件
file = open("data2.txt","w") file.write("Sample file writing\n") file.write("This is line 2\n") file.close()
一次性将一个字符串列表中的数行写入到文件中的一个示例
text_lines = [ "chapter 3\n", "this is the second line of text", "Edit file" ] file = open("data.txt","w") file.writelines(text_lines) # 另外writline是将一行写到文件 file.close()
从文本中读取内容
file = open("data.txt",'r') char = file.read(10) # 10表示一次读诗歌字符 print(char)
读取整个文本
file = open("data.txt",'r') all_data = file.read() # 读取整个文本,是根据指针推进文本 print(all_data)
readlin(n)是读取整行的文本数据
file = open("data.txt",'r') one_line = file.readline() # 读取一行,如果加参数n,代表读取n个字符 print(one_line)
按行读取整个文本,每一行当做列表中的一个元素
file = open("data.txt",'r') all_data = file.readlines() print(all_data)
数据呈现的格式:
['chapter 3\n', 'this is the second line of textEdit file']
2、操作二进制文件
二进制文件包含字节。字节可能是编码的整数、编码的浮点数、编码的列表,或者任何其他的数据类型
在Python中,可以使用二进制文件来读取一个PNG位图文件。
模式 | 说明 |
rb | 打开二进制文件以读取数据 |
wb | 打开二进制文件以写入数据 |
ab | 打开二进制文件以添加数据 |
rb+ | 打开二进制文件以读取和写入数据 |
wb+ | 打开二进制文件以写入和读取数据 |
ab+ | 打开二进制文件以添加和读取数据 |
写入二进制文件
Python提供一个名为struct的库,该库具备将数据打包到一个字符串中并进行输出的功能。我们可以以而二进制模式来写这些数据:
将1000个整数写入到文件中:
import struct file = open("binary.dat",'wb') for n in range(1000): data = struct.pack('i',n) # 二进制 file.write(data) file.close()
从二进制文件读取
struct.calcsize()计算一个int类型的大小,以便struct.unpack()函数知道针对每个数字需要读取多少个字节
import struct file = open("binary.dat",'rb') size = struct.calcsize("i") # 计算出一个数据存储的大小是4个字节 byte_read = file.read(size) # 每次读取四个字节 while byte_read: value = struct.unpack("i",byte_read) value = value[0] print(value,end=" ") byte_read = file.read(size) file.close()