将十进制值文件转换为十六进制格式

2024-05-13 02:31:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,我正在尝试编写一个简单的脚本,将包含小数的.txt文件的每一行转换为十六进制格式,并将其保存到另一个.txt文件中。我的输入具有十进制格式的16位值,例如

15166年

46818个

26814个

640个

44756个

27831个

2646个

这是我到目前为止的一个片段:

import binascii 
filename = '1.txt' 
content = f.read() 
out = binascii.hexlify(content)

f = open('out.txt', 'wb')
f.write(out)
f.close()

这是我得到的结果31353136360D0A34363831380D0A32363831340D0A363434300D0A343735360D0A32373833310D0A323634360D0A393237360D0A323238390D0A333330320D0A33393137370D0A393535340D0A3632393100D0A31353438310D0A33353632300D0A35373330310D0A333239350D0A3834380D0A34313639330D0A333538340D0A313639390D0A31313539300D0A31343639350D0A36333931350D0A3932383930D0A3333390D0A3435353535330D0A33323934320D0A31303139340D0A34393238360D0A34383430370D0A3133330350D0A3336340D0A36323735340D0A32313438310D0A35323734350D0A31303931310D0A34323835380D0A3731370D0A34393530320D0A35313034380D0A36323832330D0A343833370D0A36313934300D0A33393137310D0A333330320D0A32333836360D0A36353360D0A313930380D0A35393135340D0A363335320D0A3333323300D0A3333380D0A353533330D0A33333300D0A32303936310D0A34313134330D0A353433350D0A36343038380D0A35323334340D0A33373136370D0A32363734390D0A36353439300D0A36353236360D0A36313234320D0A3334333360D0A313532360D0A35313236310D0A33353039350D0A3630931350D0A3431333350D0A323332370D0A33313350D0A333338380D0A34363837350D0A363831390D0A34373034320D0A373035380D0A3633350D0A333535330D0A3335353530D0A333535330D0A33343134320D0A363533343360D0A34343334310310D0A35333330370D0A35333232320D0A3431333630D0A33383037300D0A32363134350D0A3435332310D0A34373836360D0A34393033360D0A36323037320D0A3437363030D0A34363337300D0A34303534360D0A31393231330D0A373930340D0A39383839340D0A3138333350D0A35383231360D0A33353080D0A3133338310D0A323136350D0A33383330D0A353430340D0A313339333300D0A31353830370D0A333734370D0A31313832370D0A34383331360D0A323934333350D0A32363831360D0A36313035360D0A34303533350D0A33383335340D0A313730370D0A34383236360D0A31363237350D0A343331370D0A353836320D0A34303730370D0A323635370D0A323538380D0A3737320D0A323630330D0A32373339370D0A3532393380D0A343135340D0A323639310D0A33353539

所以我需要将每个条目分开,并在输出文件中显示为一个列表。如果我有电话

for c in out:
print(c)

我得到一个巨大的列表,每个列表中有两个小数,似乎是错的。请张贴任何解决这个问题的方法。你知道吗


Tags: 文件importtxt脚本列表read格式content
1条回答
网友
1楼 · 发布于 2024-05-13 02:31:12

另一种方法是像这样使用hex

filename = '1.txt' 
newfile  = '2.txt'

with open(filename, 'r') as f:
    numbers = f.read().splitlines() 

with open(newfile, 'w') as n:
    for num in numbers:
        n.write('{}\n'.format(hex(int(num))))

相关问题 更多 >