如何用python获取bin文件的值
如图bin文件信息如何根据一个BLOCK或者一片BLOCK拿到我想要的值?
你先参考一下这个,再说说跟你的需求有所出入的地方
你可以使用Python实现类似于Linux上的hexdump -C命令的效果。
下面是一个简单的Python程序,它读取一个二进制文件并将其十六进制内容打印到控制台上,类似于hexdump -C命令的输出:
import sys
def hexdump(file_path):
with open(file_path, 'rb') as f:
offset = 0
while True:
chunk = f.read(16)
if not chunk:
break
hex_data = ' '.join(['{:02X}'.format(byte) for byte in chunk])
text_data = ''.join()
padding = ' ' * (3 * (16 - len(chunk)))
print('{:08X}{}{} {}'.format(offset, hex_data, padding, text_data))
offset += 16
if __name__ == '__main__':
if len(sys.argv) < 2:
print('Usage: python hexdump.py <file>')
sys.exit(1)
file_path = sys.argv
hexdump(file_path)
要使用它,请在命令行中运行以下命令:
python hexdump.py <file_path>
其中,<file_path>是您要打印十六进制内容的文件的路径。该程序将打印文件的十六进制内容,类似于hexdump -C命令的输出。 isdkz 发表于 2023-3-31 11:36
你先参考一下这个,再说说跟你的需求有所出入的地方
你可以使用Python实现类似于Linux上的hexdump -C命 ...
有点不太明白,hexdump.py在哪里{:10_277:} liyuping-fisher 发表于 2023-3-31 11:42
有点不太明白,hexdump.py在哪里
就是我写的那个程序呀 isdkz 发表于 2023-3-31 11:48
就是我写的那个程序呀
这个文件运行没问题,打印出了内存地址对应的值,但是我用python怎么去获取值呢,我shell熟练一些,shell的话我感觉awk等方法都可以根据内存地址拿,但是python我就不会了,比如我想拿00029150这个地址的某一列或者是同时几列这样子 本帖最后由 isdkz 于 2023-3-31 12:07 编辑
liyuping-fisher 发表于 2023-3-31 11:59
这个文件运行没问题,打印出了内存地址对应的值,但是我用python怎么去获取值呢,我shell熟练一些,shell ...
就是用二进制打开就行了呀,用 seek 把指针移动到偏移量那里开始读取
还有你说的 00029150 指的是?你要读取哪部分内容是根据当前指针相对于文件开头的偏移量来说的
页:
[1]