Python 二进制文件--Excel文件--xml文件--配置文件的操作

1.二进制文件的输入输出

(1)、struct和pickle<br>

使用struct模块,进行数据的输入输出

使用步骤:

第一,对要写入到文件中的各种类型数据,进行统一打包

struct.pack('if',10,12.4),其中,i:代表了整数,f:代表了浮点数

?:代表布尔型

第二,使用write()写入,写入后以二进制的方式进行文件存储。

第三,读取时,首先采用struct.unpack()来解包里面包含的相关数据,返回一个序列,即写入时的顺序,与读取时的顺序应该一致。

注意:需要将所有写入的数据,一次性都封装到一个bytes中,因为在Python中没有byte的概念,所以需要第三方的模块进行封装。

使用pickel模块,进行数据的输入输出

使用步骤:

第一,对要写入文件中的数据,进行逐一的写入。例如:

f = open('myfile.dat','wb')

pickle.dump(10, f)

第二,读取数据时,同理,需要逐一的读取。例如:

pickle.load(f)

注意,在使用时,我们能够观察到该模块的dump和load函数,与前面所学的json模块的函数一致,在Python中json与pickle都能够实现序列化和反序列化的两个模块。

在实际的使用中,推荐使用pickle 模块。

(2)文件定位

函数格式:seek(n)

返回值:返回指定的位置

说明:通过指定元素的位置,将文件指针移动到该位置。

seek()函数有三个固定值,分别为:0,1,2

0:文件的开头

1:文件当前的位置

2:文件的结尾位置

seek(0,2):代表着将指针定位到文件尾,然后进行添加操作

seek(0,1):代表着在当前指针的位置,进行替换

补充:对文件的读取时,如果文件大小未知,切忌不要使用read(),readline(),readlines()将文件内容一次性读取到内存中。因为有可能文件内容过多,造成读取时的IO阻塞。建议,将文件分多次分批读入内存中。我们通常可以先获取到文件大小,

size = path.getsize('
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值