Python文件读写,分读写成三个文件形式


initdata.py:

# initialize data to be stored in files, pickles, shelves

# records
bob = {'name': 'Bob Smith', 'age': 42, 'pay': 30000, 'job': 'dev'}
sue = {'name': 'Sue Jones', 'age': 45, 'pay': 40000, 'job': 'hdw'}
tom = {'name': 'Tom',       'age': 50, 'pay': 0,     'job': None}

# database
db = {}
db['bob'] = bob
db['sue'] = sue
db['tom'] = tom

if __name__ == '__main__':       # when run as a script
    for key in db:
        print(key, '=>\n  ', db[key])




make_db_pickle_recs.py:

from initdata import bob, sue, tom
import pickle
for (key, record) in [('bob', bob), ('tom', tom), ('sue', sue)]:
    recfile = open(key + '.pkl', 'wb')
    pickle.dump(record, recfile)
    recfile.close()

dump_db_pickcle_recs.py:

import pickle, glob
for filename in glob.glob('*.pkl'):         # for 'bob','sue','tom'
    recfile = open(filename, 'rb')
    record  = pickle.load(recfile)
    print(filename, '=>\n  ', record)

suefile = open('sue.pkl', 'rb')
print(pickle.load(suefile)['name'])         # fetch sue's name



update_db_pickle_recs.py:

import pickle
suefile = open('sue.pkl', 'rb')
sue = pickle.load(suefile)
suefile.close()

sue['pay'] *= 1.10
suefile = open('sue.pkl', 'wb')
pickle.dump(sue, suefile)
suefile.close()



Python 读写 `.hex` 文件的过程大致涉及到两个步骤:读取和解析数据。`.hex` 文件通常是二进制数据的十六进制表示形式,经常用于内存映射、调试或者其他二进制数据处理场合。 #### 读取 .hex 文件 Python 可以利用多种方式来读取 `.hex` 文件: ##### 方式一:使用内置的 `open` 函数配合 `readlines` 和 `strip` 方法: 首先,你需要使用 `open` 函数打开文件,并通过循环逐行读取文件内容。每行代表一段二进制数据的一个部。 ```python with open('yourfile.hex', 'r') as file: hex_data = [line.strip() for line in file] # 现在你可以把每一行合并一个字符串或者直接处理每个条目作为单独的值 ``` ##### 方式二:使用第三方库如 `hextools` 或者自行编写解析函数: 为了更高效地处理大量数据,可以使用专门的库来进行处理。例如,`hextools` 库提供了一套方便的API来读取和解析 `.hex` 文件。 安装 `hextools` (如果你还没有安装的话): ```bash pip install hextools ``` 然后可以使用如下方式读取 `.hex` 文件: ```python import hextools with hextools.HexFileReader('yourfile.hex') as reader: data = reader.read() ``` 这种方式会直接返回一个列表,其中包含了所有二进制数据的字节。 #### 写入 .hex 文件 同样,可以采用类似的方式将二进制数据写入到新的 `.hex` 文件中。如果使用上面提到的 `hextools` 库,写入过程也非常简单: ```python data_to_write = b'\x01\x02\x03' # 你要写入的数据 with hextools.HexFileWriter('newfile.hex') as writer: writer.write(data_to_write) ``` 这里需要注意的是,写入 `.hex` 文件时,实际上是在写入原始的十六进制表示,因此需要确保你的数据是以十六进制格式保存。 ### 结论: 对于读取 `.hex` 文件Python 提供了基本的 I/O 操作,同时也有第三方库简化了这个过程。对于写入 `.hex` 文件,也可以利用现有的工具,使得处理二进制数据变得更加直观和便捷。 ### 相关问题: 1. 是否存在其他高效且功能强大的库用于处理 `.hex` 文件? 2. 当处理大型 `.hex` 文件时,如何优化性能? 3. 如何验证从 `.hex` 文件读取的数据是否准确无误? --- 以上介绍了如何使用 Python读写 `.hex` 文件的基本方法及注意事项,希望能帮助你更好地理解和应用这一知识。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值