虽然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模块也会出现。
答案 0 :(得分:2)
我怀疑你的终端或控制台正在进行包装;你有一个前缀,你需要在包装时考虑到这一行。将它包含在您要包装的文本中:
print(textwrap.fill('{}: {}'.format(item.name, item.description)))
我在这里使用str.format()
从.name
和.description
属性创建一个新字符串,中间有一个冒号。