为什么都textwrap.wrap()
那么textwrap.fill()
慢?例如,在我的笔记本电脑上包装一个 10000 个字符的字符串需要将近两秒半的时间。
$ python -m timeit -n 10 -s 's = "A" * 10000; import textwrap' 'textwrap.fill(s)'
10 loops, best of 3: 2.41 sec per loop
将其与改编自相关 Stack Overflow 问题的答案的代码进行比较
#!/usr/bin/env python
# simplewrap.py
def fill(text, width=70):
return '\n'.join(text[i:i+width] for i in
range(0, len(text), width))
它将文本包装速度比以下数量级快textwrap
:
$ python -m timeit -n 10 -s 's = "A" * 10000; import simplewrap' 'simplewrap.fill(s)'
10 loops, best of 3: 37.2 usec per loop