С помощью Python можно решать не только таски, закинутые в бэклог продукта, но и обычные рутинные операции. Не важно парт-таймер ты в какой-то IT-компании или у тебя кроссовер-ивент с женщинами из бухгалтерии, которые попросили помочь. Микрозадачи всегда проще сделать, написав несколько строк кода. Сегодня поговорим об одной из таких
Во-первых, это красиво!
Предположим, что нам необходимо добавить в каждую строку текстового файла некоторые символы (буквы, числа, фразы — что угодно). В нашем случае нам нужно добавить -1. У нас есть два варианта — бесконечно копипастить или прогнать файл через питон. Второй вариант, очевидно, предпочтительней.
Итак, допустим, у нас имеется такой текстовый файл:
Откроем его через питон, а точнее через конструкцию with open … as, после которой закрывать файл (использовать close) не нужно. Режим r+ говорит о том, мы открываем файл в режиме чтения и записи.
Создаем список lines через функцию map (используется для применения функции к каждому элементу итерируемого объекта). Но так как map возвращает только объект map, мы его обернём в список с помощью функции list
Внутри у нас будет анонимная функция (lambda). В ней мы форматируем строки (format) по шаблону ‘{}-1\n’ (плейсхолдер пустой, добавляем -1, переходим на следующую строку). C помощью strip() удаляет начальные и конечные пробелы из строки. Метод readlines() считывает все строки всего файла и и возвращает список строк.
Далее возвращаемся в начало файла — f.seek(0) и перебираем строки.
with open("/content/sample_data/source_text.txt", 'r+') as f: lines = list(map(lambda x: '{}-1\n'.format(x.strip()), f.readlines())) f.seek(0) [f.write(l) for l in lines]
После обработки снова прочитаем:
f = open("/content/sample_data/source_text.txt", 'r', encoding='utf8') print(f.read())
В итоге у нас получится такой файл: