第十四次python笔记

本文介绍了文件操作的基本步骤,包括打开、读写和关闭文件,并强调了关闭文件的重要性。同时,展示了使用with语句的优雅方式来处理文件。文章还详细讲解了如何利用pickle模块进行对象序列化和反序列化,以及struct模块在处理二进制数据中的应用。
摘要由CSDN通过智能技术生成

按文件中数据的组织形式把文件分为文本文件和二进制文件两类。

文件内容操作三步走:打开、读写、关闭。

如果执行正常,open()函数返回1个文件对象,通过该文件对象可以对文件进行读写操作。如果指定文件不存在、访问权限不够、磁盘空间不足或其他原因导致创建文件对象失败则抛出异常。

f1 = open('file1.txt', 'r')     # 以读模式打开文件
f2 = open('file2.txt', 'w')      # 以写模式打开文件

当对文件内容操作完以后,一定要关闭文件对象,这样才能保证所做的任何修改都确实被保存到文件中。

f1.close()

with语句的用法如下:

with open(filename, mode, encoding) as fp:

使用pickle模块

import pickle

i = 13000000
a = 99.056
s = '中国人民123abc'
lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
tu = (-5, 10, 8)
coll = {4, 5, 6}
dic = {'a':'apple', 'b':'banana', 'g':'grape', 'o':'orange'}
data = [i, a, s, lst, tu, coll, dic]

with open('sample_pickle.dat', 'wb') as f:
    try:
         pickle.dump(len(data), f) #表示后面将要写入的数据个数
         for item in data:
              pickle.dump(item, f)
    except:
        print('写文件异常!')        #如果写文件异常则跳到此处执行

使用struct模块

import struct

with open('sample_struct.dat', 'rb') as fp:
    sn = fp.read(9)
    tu = struct.unpack('if?', sn) 
    print(tu)
    n, x, bl = tu
    print('n=', n)
    print('x=', x)
    print('bl=', bl)
    s = fp.read(9).decode()
    print('s=', s)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值