如何让Python打印内容从右侧起始位置输出(不修改行内内容)
解决阿拉伯语文本行右对齐打印问题
原代码打印阿拉伯语文本时,行从左侧起始,不符合阿拉伯语从右到左的阅读习惯。要实现每行从右侧起始且不修改行内内容,可通过字符串格式化实现右对齐:
修改后的代码
lines = [ "اهلا", "كيف حالك", "السطر الاول من الملف النصي", "السطر الثاني من الملف النصي", "السطر الثالث من الملف النصي", "السطر الرابع من الملف النصي", "السطر الخامس من الملف النصي", "السطر السادس من الملف النصي", "السطر السابع من الملف النصي" ] # 计算最长行的字符长度,保证所有行对齐一致 max_line_length = max(len(line) for line in lines) for line in lines: # 使用f-string右对齐格式化,宽度设为最长行长度 print(f"{line:>{max_line_length}}")
原理说明
- 先遍历所有行,获取最长行的字符数
max_line_length,确保所有行基于同一宽度对齐,排版更整齐。 f"{line:>{max_line_length}}"是Python的格式化语法,>表示右对齐,后面的数字是对齐的总宽度,这样阿拉伯语文本会从终端右侧开始排列,完全保留原有内容和显示方式,不会出现文字错乱。
也可以用str.rjust()方法替代格式化语法,效果一致:
print(line.rjust(max_line_length))
内容的提问来源于stack exchange,提问作者CofeKeys
相关产品推荐
相关产品推荐

