【发布时间】:2019-07-02 09:47:45
【问题描述】:
我 file.readline() 一些注册表文件,以便过滤掉一些子字符串。我正在使用 shutil.copyfile() 制作它的副本(只是为了保留原件),由 foo() 处理,并且没有看到任何过滤掉的内容。试过调试,行的内容很二进制:
'˙ţW\x00i\x00n\x00d\x00o\x00w\x00s\x00 \x00R\x00e\x00g\x00i\x00s\x00t\x00r\x00y\x00 \x00E\x00d\x00i\x00t\x00o\x00r \x00 \x00V\x00e\x00r\x00s\x00i\x00o\x00n\x00 \x005\x00.\x000\x000\x00\n'
这是相当明显的,但没有意识到这一点(Notepad++ 整洁的文本呈现)。我的问题是:如何过滤掉我的字符串? 我看到两个选项,它们是 reg->txt->reg 方法(我的意思是标题)或将字符串转换为字节,然后将它们与内容进行比较。
当我手动创建文件(复制和粘贴输入文件的内容)并给它们 .txt 时,一切正常,但我希望它可以自动化。
inputfile = "filename_in.reg"
outputfile = "filename_out.reg"
copyfile(inputfile, output file)
with open(outputfile, 'r+') as fd:
contents = fd.readlines()
for d in data:
foo(fd, d, contents)
【问题讨论】:
-
完全就是这样。您可能想将其添加为回复,因此我可以接受。非常感谢 - 小事,但非常感谢:)
-
完成 - 只发表评论,因为我不确定是否会修复它 - 但我希望它至少能让你开始。
标签: python encoding shutil text-manipulation