Переименование текстовых файлов по первой строке в них Python
Имеется папка 'samples' в которой находится бесчисленное количество файлов формата .md (условно можно и для .txt). В каждом из этих файлов имеется несколько строк (абзацев). В первом абзаце всегда одна строка. Именно по ней нужно переименовать сам файл. Файлы сохранены изначально по названиям "1", "2", "3" ... Важно: саму эту строчку желательно после удалить из содержания файла. То есть она будто переходит в название и удаляется без пробелов в начале. Буду рад помощи!
Ответы (1 шт):
Автор решения: Gawain
→ Ссылка
Хотелось бы конечно сначала ваши попытки увидеть
import os
folder = 'samples'
files = [os.path.join(folder, x) for x in os.listdir(folder)]
for file in files:
with open(file, 'r') as f:
file_data = f.read()
paragraphs = file_data.split('\n')
first_paragraph = paragraphs[0].strip()
new_data = '\n'.join(paragraphs[1:])
with open(file, 'w') as f:
f.write(new_data)
dirname = os.path.dirname(file)
name, ext = os.path.splitext(os.path.basename(file))
new_name = f'{first_paragraph}{ext}'
new_path = os.path.join(dirname, new_name)
if os.path.exists(new_path):
print(f'Файл с названием {new_name} уже существует! Тут надо дописать логику')
else:
os.rename(file, new_path)