Я 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)