如何在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')
关键说明
- 导入依赖模块:原代码使用了
wrap但未显式导入,需补上import textwrap。 - 目标宽度参数:新增
terminal_width参数,默认设为终端常用的80字符宽度,可根据实际需求调整。 - 计算表头总宽度:原表头每行的总长度为
width + 4(左右各2个#边框 + 中间35字符的内容区)。 - 前置空格计算:通过
(terminal_width - header_width) // 2算出需要添加的前置空格数,用max(padding, 0)避免目标宽度小于表头宽度时出现异常。 - 整体居中实现:表头的每一行内容前都添加等量的前置空格,即可让整个表头块在目标宽度内居中显示。
内容的提问来源于stack exchange,提问作者python_noob
相关产品推荐
相关产品推荐

