Python文件输入输出

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()

 

 

你可能感兴趣的:(Python)