我有一个长文本文件,它总是以 32 个字符的 MD5 散列开头,如下所示:
f4f494da100a3577420a7ff7c32abb5707:55:40 下午 |用户名:文本
我的目标是去除该文件第一行的前 32 个字符,然后覆盖该行。我的代码(如下)成功地抓取了行并删除了字符,但删除了文件中的所有其他内容。
with open(x, 'r') as fin:
lines = fin.readlines()
lines = lines[0]
lines = lines[32:]
with open(x, 'w') as fout:
for line in lines:
fout.write(line)
我知道我可以使用 lines[0] 编辑第一行,但我不确定如何以这种方式删除字符(也许 re?)
请您参考如下方法:
您可以只手动读取前 32 个字符,然后调用 readlines 读取其余字符:
with open(x, 'r') as fin:
header = fin.read(32)
lines = fin.readlines()
with open(x, 'w') as fout:
fout.writelines(lines)
