gpt4 book ai didi

python - 如何在python中的每个字节后添加空格

转载 作者:太空宇宙 更新时间:2023-11-03 15:11:17 24 4
gpt4 key购买 nike

我有一个包含一组行的文件,每行都包含一个十六进制数字。我需要在每个字节后添加空格。例如:

84dd251ae078d70a55ead31b4e8c3acd

84 dd 25 1a e0 78 d7 0a 55 ea d3 1b 4e 8c 3a cd

修改后,我想将结果保存在一个新文件中:我尝试这样做:

Srcpath ='File_Without_Space'
Destpath ='Files_With_Space'
with open(Srcpath, 'r') as f:
with open(Destpath, 'w') as fp:
for key in f:
print(key)
key_Separated=[key[i:i+2] for i in range(0, len(key), 2)]
print (key_Separated)
fp.write(str(key_Separated) +'\n')

但是结果是:

['3c', 'd4', '20', '74', '81', '04', '49', '8d', '9b', 'f0', '66', '99', 'dd', 'a3', 'ee', 'd1', '\n']

而不是:

84 dd 25 1a e0 78 d7 0a 55 ea d3 1b 4e 8c 3a cd

请问我该如何解决这个问题?

最佳答案

您可以尝试re模块一次获取2个元素,它返回数组,然后用空格将它们连接起来

import re

....
print(key)
key_Separated = " ".join(re.findall('([0-9a-f]{2}|[0-9a-f])', s))
print (key_Separated)

示例

>>> import re
>>> s = "84dd251ae078d70a55ead31b4e8c3acd"
>>> " ".join(re.findall('([0-9a-f]{2}|[0-9a-f])', s))
'84 dd 25 1a e0 78 d7 0a 55 ea d3 1b 4e 8c 3a cd'

>>> s = "84dd251ae078d70a55ead31b4e8c3acda"
>>> " ".join(re.findall('([0-9a-f]{2}|[0-9a-f])', s))
'84 dd 25 1a e0 78 d7 0a 55 ea d3 1b 4e 8c 3a cd a'

>>> s = "84dd251ae078d70a55ead31b4e8c3acda1"
>>> " ".join(re.findall('([0-9a-f]{2}|[0-9a-f])', s))
'84 dd 25 1a e0 78 d7 0a 55 ea d3 1b 4e 8c 3a cd a1'

关于python - 如何在python中的每个字节后添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44198738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com