Я пишу код, цель которого - прочитать текстовый файл (fileONE.txt) и сохранить только данные, которые находятся в другом текстовом файле (fileTWO.txt), в другом файле (fileTHREE.txt), как и пример ниже:
fileONE.txt
aaa bbb cccddd
ccc ddd aaa eee
fileTWO.txt
aaa
bbb
ccc
final result - fileTHREE.txt
aaa bbb ccc
ccc aaa
Обратите внимание, что в конечном файле (fileTHREE.txt) хранятся только данные, которые находятся в файле TWO.txt.
Код следует ниже и, по-видимому, работает однако некоторые данные он не может удалить в конечном файле. Например, данные «ddd», которые должны появиться, продолжаются.
id_codigo = open('fileONE.txt', 'r', -1, encoding="utf-8")
with open('fileTWO.txt') as f:
for line in f:
key1 = ''
(key) = line.split()
key1 = key1.join(key)
id_codigo = id_codigo.replace(key1, " "+key1+" ")
id_codigo = id_codigo.split()
with open('fileTWO.txt') as f:
file_elements = f.read().splitlines()
for i in id_codigo:
if i not in file_elements:
id_codigo.remove(i)
id_codigo1 = id_codigo1.join(id_codigo)
return id_codigo1
Объяснение: «fileONE.txt» переходит к id_codi go. При первом открытии while
я разделяю каждый символ в файле 'fileTWO.txt' и заменяю его в id_codi go. (Некоторые символы объединяются. Первый while
также служит для разделения символов)
Во втором while
я удаляю (из id_codi go) те, которые не являются частью ' файлTWO.txt '. И я возвращаю все в id_codigo1 для записи в другой файл (fileTHREE.txt).
По-видимому, он делает то, что должен делать, но некоторые символы, которых не должно быть, появляются, например 'ddd' , например. Кто-то может проверить, чего не хватает. Я отлаживал и не могу найти ошибку.