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