Перейти к содержимому

Добавить номера строк

Добавляет номера строк к любому тексту с настраиваемым разделителем, начальным номером, шагом и дополнением нулями.

Об этом инструменте

При работе с кодом, документацией и техническими спецификациями ручное добавление номеров строк утомительно и подвержено ошибкам, особенно для длинных документов. Этот инструмент автоматически добавляет последовательные номера к каждой строке, упрощая ссылки на конкретные разделы и сохраняя согласованное форматирование в различных контекстах.

Просто вставьте текст в редактор, настройте разделитель (двоеточие, точка или круглые скобки), установите начальный номер и выберите шаг приращения. Инструмент мгновенно применяет нумерацию, сохраняя исходную структуру текста. Вы также можете использовать нулевое заполнение для визуального выравнивания номеров—это полезно для файлов с более чем 100 строками, где однозначные номера выглядели бы неровно.

Разработчики используют этот инструмент при вставке журналов ошибок для отладки, технические писатели при подготовке пронумерованных инструкций, а преподаватели при создании аннотированных примеров кода. Гибкость начала с любого номера и приращения на пользовательские интервалы делает его ценным для переномерации разделов или создания вторичных схем нумерации наряду с существующими номерами строк.

Часто задаваемые вопросы

Реализация кода

def add_line_numbers(text, start=1, step=1, sep=". ", pad=False, skip_empty=False):
    lines = text.split("\n")
    total = sum(1 for l in lines if (not skip_empty or l.strip())) if skip_empty else len(lines)
    max_num = start + (total - 1) * step
    width = len(str(max_num))
    num = start
    result = []
    for line in lines:
        if skip_empty and not line.strip():
            result.append(line)
            continue
        num_str = str(num).zfill(width) if pad else str(num)
        result.append(f"{num_str}{sep}{line}")
        num += step
    return "\n".join(result)

text = """Hello world
This is line two

Fourth line here"""

print(add_line_numbers(text, start=1, step=1, sep=". ", pad=True))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.