0

虽然 textwrap.fill 适用于手动输入的文本,即 print("(Really long string)"),但在从 csv 文件填充的类打印时会产生意想不到的结果。

例如:

print(item.name,":",(textwrap.fill(item.description)) 

我得到以下信息:

 Hide Armor : This crude armor consists of thick furs and hides. It is commonly
worn
by barbarian tribes, evil humanoids, and other folk who lack access to
the tools and materials needed to create better armor. 

有任何想法吗?CSV 中已经没有换行符。

CSV 中的行内容如下:

Hide Armor,10,12 + Dex modifier (max 2),-,-,20 lb.,"This crude armor consists of thick furs and hides. It is commonly worn by barbarian tribes, evil humanoids, and other folk who lack access to the tools and materials needed to create better armor.",Medium

那是一条线。

关于删除随机换行符的任何想法?可以在输出的开头做随机空格吗?即使不使用 textwrap 模块,我也不知道该空格从何而来并出现。

4

1 回答 1

2

我怀疑您的终端或控制台正在包装;您在换行时需要考虑该行的前缀。将其包含在您要包装的文本中:

print(textwrap.fill('{}: {}'.format(item.name, item.description)))

我在这里用and属性str.format()创建了一个新字符串,中间有一个冒号。.name.description

于 2013-06-07T10:42:17.963 回答