跳到内容
🛠️ToolsShed

添加行号

使用可自定义的分隔符、起始编号、步长和零填充为任何文本添加行号。

关于此工具

代码、文档和技术规范中经常需要引用特定的行,此时行号变得至关重要。手动添加行号既耗时又容易出错,尤其是对于长文档。该工具能自动为每行添加连续序号,使讨论特定部分变得更加简便,同时在不同环境中保持格式一致。

只需将文本粘贴到编辑器中,自定义分隔符(冒号、句号或括号),设置起始编号和递增步长即可。工具会立即应用行号,同时保留原始文本结构。你还可以启用零填充来视觉上对齐数字——这对于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.