You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中将写入文本文件的内容居中对齐?

实现文本文件表头整体居中的方案

当然可以实现表头整体居中,核心是给表头的每一行添加等量的前置空格,让整个表头块在目标宽度内居中。以下是修改后的代码和关键说明:

修改后的代码

import textwrap

def file_Header(terminal_width=80):
    ''' 创建文本文件表头,并在指定宽度内整体居中 '''
    sentence = "Test text for the upcoming project"
    sentence2 = "This machine is currently online"
    width = 35
    # 计算当前表头的总宽度(左右边框+中间内容区)
    header_width = width + 4
    
    # 计算前置空格数,确保表头整体居中
    padding = (terminal_width - header_width) // 2
    # 防止目标宽度小于表头宽度时出现负数空格
    padding = max(padding, 0)
    
    with open('test.txt', 'w') as file:
        # 每行开头添加前置空格,实现整体居中
        file.write(' ' * padding + '##' + '#' * width + '##\n')
        file.write(' ' * padding + '#' + ' ' * (width+1) + ' #\n')

        for line in textwrap.wrap(sentence, width):
            file.write(' ' * padding + '# {0:^{1}} #\n'.format(line, width))

        for line in textwrap.wrap(sentence2, width):
            file.write(' ' * padding + '# {0:^{1}} #\n'.format(line, width))

        file.write(' ' * padding + '#' + ' ' * (width+1) + ' #\n')
        file.write(' ' * padding + '##' + '#'*(width) + '##\n')

关键说明

  1. 导入依赖模块:原代码使用了wrap但未显式导入,需补上import textwrap。
  2. 目标宽度参数:新增terminal_width参数,默认设为终端常用的80字符宽度,可根据实际需求调整。
  3. 计算表头总宽度:原表头每行的总长度为width + 4(左右各2个#边框 + 中间35字符的内容区)。
  4. 前置空格计算:通过(terminal_width - header_width) // 2算出需要添加的前置空格数,用max(padding, 0)避免目标宽度小于表头宽度时出现异常。
  5. 整体居中实现:表头的每一行内容前都添加等量的前置空格,即可让整个表头块在目标宽度内居中显示。

内容的提问来源于stack exchange,提问作者python_noob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 19:51:53