Я пытаюсь сделать следующее: неопределенное количество текстовых файлов будет в папке, я хочу: 1. Открывать по одному файлу за раз, а затем 2. Прочитать текст в файле для определенного c строка, а затем 3. Добавьте все содержимое текстового файла в файл docx и сохраните как имя строки на шаге 2 4. Повторите для следующих текстовых файлов в папке
Я завершил все это и думал, что у меня это работает. Однако, когда файлы сохранены, все выглядит хорошо, но первый открытый текстовый файл затем копируется во все другие файлы docx, которые теперь были созданы, а не каждый из них копируется и закрывается. Что мне не хватает?
import docx
import os
design_doc = docx.Document("Configuration_V1.docx")
directory = r"C:\Configuration Files"
all_files = os.listdir(directory)
for config_file in all_files:
with open(os.path.join(directory, config_file), "r") as f:
config = f.read()
design_doc.add_paragraph(config)
target = "hostname"
words = config.split()
for i,w in enumerate(words):
if w == target:
hostname = words[i+1]
design_doc.save(hostname + ".docx")
f.close()
Чтобы уточнить, файлы docx создаются с собственными именами, поскольку строка в каждом текстовом файле всегда будет другой и читается, однако, когда я открываю каждый новый файл docx , весь текст скопирован из первого текстового файла. Содержимое каждого текстового файла должно быть добавлено к каждому docx.
Спасибо