Автоматизация Python
Задача в том чтобы скрипт заходить в папку писал данные в файл выходил из папки и заходил в другую папку прописывая уже другие данные Допустим есть папки папка1 папка2 и папка3 в них лежат файлы с настройками в которые нужно внести новые данные из другого файла например файл test Нужно чтобы скрипт копировал данные из файла test 1 строку вставлял в текстовый файл в папке папка1 сохранял файл Далее заходил в папку папка 2 копировал данные из файла test 2 строку и вставлял в файл в папке 2 и так далее У кого есть идеи как это можно реализовать или в какую сторону копать
with open ('test.txt', 'r') as f:
old_data = f.read()
new_data = old_data.replace('Test', 'Test12345')
with open ('test.txt', 'w') as f:
f.write(new_data)
Этот код работает но мне нужно чтобы вместо Test12345 Вставлялись данные из файла со списком нужных данных (новые данные будут на новой строке) И еще нужно чтобы папки менялись Например в папке1 данные из первой строчки в папке2 данные из 2 строчки и так далее
Ответы (2 шт):
Если я правильно понял, то вы хотите автоматически перезаписать несколько файлов строками из конкретного файла.
Данный код перезаписывает первый файл на первую строку из settings.txt, второй файл на вторую и т.д.:
settings_link = "C:\\Temp\\settings.txt"
file_links = ["C:\\Temp\\1\\f1.txt", \
"C:\\Temp\\2\\f2.txt", \
"C:\\Temp\\1\\f3.txt", ]
with open(settings_link, 'r') as settings:
for line, link in zip(settings, file_links):
with open(link, 'w') as file:
file.write(line)
Или если записать все пути в отдельный файл:
settings_link = "C:\\Temp\\settings.txt"
links_link = "C:\\Temp\\links.txt"
file_links = []
with open(links_link, 'r') as links:
for link in links:
file_links.append(link.rstrip())
with open(settings_link, 'r') as settings:
for line, link in zip(settings, file_links):
with open(link, 'w') as file:
file.write(line)
Ну, примерно так (код набросал, но не проверял):
import os
with open ('replace.txt', 'r') as r:
for i,line in enumerate(r, 1):
data_file = os.path.join('A'+str(i), 'test.txt')
with open(data_file, 'r') as f:
old_data = f.read()
new_data = old_data.replace('Test', line.strip())
with open(data_file, 'w') as f:
f.write(new_data)