怎么用python使每行输出16个hex字节

问题遇到的现象和发生背景

用python使每行输出16个hex字节

问题相关代码,请勿粘贴截图
file=open(r'D:\liangyx\vegab2105.txt')
s=file.read()
file.close()
print(s)

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

我想让这些数据每行输出16个hex字节,类似于下图

img

试试这样:

file=open(r'D:\liangyx\vegab2105.txt')
s=file.read()
file.close()
s = s.split(',')
for i in range(len(s)//16+1):
    print(','.join(s[i*16:(i+1)*16]))

一、在循环中设个16的计数器,用if语句触发开关就好。
二、除了计数器,还可以模16(%),就是用16取余。

img

Python 代码

print(color('每行输出8个十六进制字符:','f_green'))

n = 0
for i in range(50):
    if n == 16:
        n = 0
        print(f"{hex(i)[2:].zfill(2)}")
    print(f"{hex(i)[2:].zfill(2)}", end=' ')
    n += 1

wait() 

img

for i in range(50):
    if (i+1)%16 == 0:
        print(f"{hex(i)[2:].zfill(2)}")
    else:
        print(f"{hex(i)[2:].zfill(2)}", end=' ')

wait() 

如您所见,两段代码效果完全相同。但模16,代码更简洁。😜😜😜

i % 16 == 0 print("\n")