使用Python分成多行来限制字符串宽度

Dar*_*rko 1 python string formatting

我正在使用python生成用于编程的测试文件.在这个文件中,我有几个自动生成的注释.问题是,这些注释中的一些可能会很长,如果一行太长,读取该文件的软件会产生错误.

我正在寻找的是一种用'\n#'打破字符串的方法.这些换行符的位置应限制任何一行的宽度小于某个宽度.以下是我想要做的一个例子.我需要从"long_line"生成"broken_line"的代码.

long_line = "# alpha || bravo || charlie || delta || echo are the first 5 elements of NATO"

broken_line = "# alpha || bravo || charlie ||\n# delta || echo are the first \n# 5 elements of NATO"


>>>print long_line
# alpha || bravo || charlie || delta || echo are the first 5 elements of NATO

>>>print broken_line
# alpha || bravo || charlie ||
# delta || echo are the first
# 5 elements of NATO
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 6

使用该textwrap模块将线条包裹到最大宽度.您可以指定'# '为缩进以正确地为行添加前缀:

>>> import textwrap
>>> long_line = "# alpha || bravo || charlie || delta || echo are the first 5 elements of NATO"
>>> textwrap.fill(long_line, 30, subsequent_indent='# ')
'# alpha || bravo || charlie ||\n# delta || echo are the first\n# 5 elements of NATO'
>>> print textwrap.fill(long_line, 30, subsequent_indent='# ')
# alpha || bravo || charlie ||
# delta || echo are the first
# 5 elements of NATO
Run Code Online (Sandbox Code Playgroud)

该模块非常灵活,请阅读文档以查看您想要旋转的旋钮以获得完美结果.