Bạn có thể sử dụng mô-đun textwrap
:
>>> import textwrap
>>> strs = "In my project, I have a bunch of strings that are read in from a file. Most of them, when printed in the command console, exceed 80 characters in length and wrap around, looking ugly."
>>> print(textwrap.fill(strs, 20))
In my project, I
have a bunch of
strings that are
read in from a file.
Most of them, when
printed in the
command console,
exceed 80 characters
in length and wrap
around, looking
ugly.
giúp đỡ trên textwrap.fill
:
>>> textwrap.fill?
Definition: textwrap.fill(text, width=70, **kwargs)
Docstring:
Fill a single paragraph of text, returning a new string.
Reformat the single paragraph in 'text' to fit in lines of no more
than 'width' columns, and return a new string containing the entire
wrapped paragraph. As with wrap(), tabs are expanded and other
whitespace characters converted to space. See TextWrapper class for
available keyword args to customize wrapping behaviour.
Sử dụng regex
nếu bạn không muốn kết hợp một dòng vào dòng khác:
import re
strs = """In my project, I have a bunch of strings that are.
Read in from a file.
Most of them, when printed in the command console, exceed 80.
Characters in length and wrap around, looking ugly."""
print('\n'.join(line.strip() for line in re.findall(r'.{1,40}(?:\s+|$)', strs)))
# Reading a single line at once:
for x in strs.splitlines():
print '\n'.join(line.strip() for line in re.findall(r'.{1,40}(?:\s+|$)', x))
đầu ra:
In my project, I have a bunch of strings
that are.
Read in from a file.
Most of them, when printed in the
command console, exceed 80.
Characters in length and wrap around,
looking ugly.
[textwrap] (http: //docs.python .org/3/library/textwrap.html) là điều tuyệt vời cho việc này, nhưng nó phụ thuộc vào định dạng tệp của bạn! Là tập tin một chuỗi các chuỗi với nhau, hoặc là chúng trên các dòng riêng biệt, bởi vì trên các dòng riêng biệt, khi bạn sử dụng 'textwrap' nó rất có thể sẽ giành được –
@ Ryan-Saxe đó là một tệp văn bản với mỗi chuỗi được phân tách bằng ký tự đặt (một ống, |). textwrap âm thanh như nó sẽ làm việc, sau đó! –