python 实现读出每行数据并在数据前添加地址,地址按照4进行递增,地址使用16进制
时间: 2024-09-19 21:09:56 浏览: 26
基于Python实现的一个通用的二进制数据分析工具源码.zip
在Python中,你可以使用内置的文件操作和字符串处理功能来实现这个需求。这里是一个简单的示例,假设我们有一个文本文件`data.txt`,你想在每一行前面加上一个递增的16进制地址:
```python
def add_address_to_file(input_file, output_file):
# 打开输入文件并创建输出文件
with open(input_file, 'r') as in_file, open(output_file, 'w') as out_file:
address = 0x10 # 初始地址(16进制)
for line_num, line in enumerate(in_file, start=1): # 使用enumerate获取行号
formatted_line = f"{address:04X} {line}" # 格式化地址和原始行,地址补足4位0
out_file.write(formatted_line)
address += 4 # 每次增加4
# 调用函数,将原文件data.txt的内容写入到output_data.txt
add_address_to_file('data.txt', 'output_data.txt')
```
在这个例子中,`enumerate()`函数用于同时遍历文件行和行号,`f-string`用于格式化输出,其中`{address:04X}`表示将地址转换为16进制并保留4位,不足的用0填充。
阅读全文