- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
>> print textwra-6ren">
>>> import textwrap
>>> string = "This is a very very very very very long string."
>>> print textwrap.wrap(string,8)
>>> print textwrap.fill(string,8)
输出:
['这是'、'非常'、'非常'、'非常'、'非常'、'非常'、'长'、'字符串。']
这是
非常
非常
非常
非常
非常
长
字符串。
我知道 textwrap.wrap() 给了我一个列表,而 textwrap.fill 给了我一个字符串。在文档中,它说,“将单个段落包装在文本(字符串)中,因此每行的长度最多为宽度字符”。
但我不明白为什么 textwrap.wrap(), 8 形成的列表中每个元素的长度不是 8(如果 8 作为宽度参数传递)。为什么有时是 7,6 等。
同样,我不明白为什么在 textwrap.fill() 的情况下,每行的长度 = 8 个字符(如果宽度传递为 8 或 5,如果宽度传递为 5)。例如,有时是 7、6、4 等。为什么不完全等于宽度。因为它说每行最多应该是宽度字符长,所以如果 with 作为 8 传递,为什么它会在使用行中所有可用的 8 个字符之前中断?
不应该像下面这样吗:
>>> import textwrap
>>> string = "This is a very very very very very long string."
>>> print textwrap.fill(string,8)
输出:
这是
非常v
非常非常
非常好
很长
字符串。
最佳答案
作为documentation声明:
Wraps the single paragraph in text (a string) so every line is at most width characters long. Returns a list of output lines, without final newlines.
textwrap 仅在分词处(通常在空格处)分割单词,并确保每个字符串不会超过宽度限制。注意:它不会在每个宽度个字符处进行分割。
它用于将字符串拆分为多个部分,每个部分的最大可能数量等于或小于宽度字符长,同时不破坏任何单词。
关于python - textwrap.wrap() 和 textwrap.fill() 在 python 2 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43455772/
为什么是textwrap.wrap()和 textwrap.fill()太慢了?例如,在我的笔记本电脑上包装一个 10000 个字符的字符串需要将近两秒半。 $ python -m timeit -n
>>> import textwrap >>> string = "This is a very very very very very long string." >>> print textwra
我发现 python 的 textwrap 库在错误的地方断句。我正在使用: wrp = textwrap.TextWrapper(width=32,break_long_words=False,re
这里完全是编码初学者,第一次在这个好地方发帖。使用 Python 3.2.3。 简要说明 我想对字符串进行自动换行和字符填充,但应该忽略字符串的某些部分。 背景 我正在使用一个从 .txt 文件输出文
我在将文本包装在堆叠的列和行中时遇到了一些麻烦(而且我不太确定我是否在做良好的练习;))。我尝试使用 Flexible 而不是 Wrapped,但它也没有用。 代码: ListView(childre
在 Windows Phone 7 应用程序中,当我在网格中放置一个 TextBlock 并设置它的 HorizontalAlignment 时到“Center”和它的TextWrapping对于“W
当我将 TextBlock 放置在水平对齐的 StackPanel 内时,它不会换行。我意识到这是因为 StackPanel 的可用宽度是 PositiveInfinity,但是有什么解决方法吗? 我
目标 我有一个 WPF 应用程序,它在 DataGrid 中包含文本。我希望文本包装在每个单元格内。我还想为每一列设置一个 MinWidth,如果必须,ScrollViewer 应该创建 horizo
如何使用 textwrap 模块在一行达到一定字节数之前进行拆分(不拆分多字节字符)? 我想要这样的东西: >>> textwrap.wrap('☺ ☺☺ ☺☺ ☺ ☺ ☺☺ ☺☺', bytewid
在 WPF 窗口中拖放一些控件(如 TextBox)后,您可以在 XAML 中看到下面的行 这些属性会自动插入到 XAML 中!只是在 XAML 中插入了一些特殊属性。 问题: 为什么只有这些特殊属
我有一个 UserControl,它有几个按钮和一些 Textblock。出于某种原因,TextWrap 不适用于此文本 block 。
在使用 Python 的 textwrap 库时,如何将其转换为: short line, long line xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
我不确定为什么我的代码没有正确执行 TextWrapping。它不会包装 Description 列的文本(这是我想要的)。它只是将其切断,甚至不使用“...”来让我知道有更多数据。 我尝试使用我在网
好的...所以this解决方案没有帮助 XAML 在这里
我有以下组合框 我希望将文本换行应用于此组合框,并遵循答案 here 中的代码片段 但是这个模板破坏了绑定(bi
我正在尝试使用 textwrap 来格式化导入文件,该文件的格式化方式非常特殊。基本上如下(为简单起见,缩短了行长): abcdef <- Ok line abcdef ghijk <- Note
我正在动态生成一个 DataGrid 并将其添加到我的 WPF 应用程序的 StackPanel 中。 由于是动态生成的,因此在 XAML 端没有相同的标记,我需要以编程方式管理绑定(bind)和所有
我在 Windows Phone 中遇到了一个看似简单的布局问题。问题如下图所示: 我的要求如下: 副标题必须始终可见,但要以标题文本溢出为代价。 标题和副标题必须垂直和水平居中。 当我使用 Stac
所以我只是重新格式化了一堆代码以合并 textwrap.wrap,却发现我所有的\n 都不见了。这是一个例子。 from textwrap import wrap def wrapAndPrint (
我有一个文本,由几个段落组成,段落之间用双换行符分隔。我想将它们格式化为 70 行宽,保留新行,整个内容应该以一个非缩进行开始,并带有 Abstract: Lorem ipsum ...。 所以整个事
我是一名优秀的程序员,十分优秀!