使用textwrap函数遇类型错误:期望'str'却传入'set[int | object]'求助
问题解决
错误根源
你触发类型错误的原因是:textwrap.wrap() 要求第一个参数是字符串,但你传了一个集合 {size, string}——集合里混了整数size和字符串string,类型完全不符合函数要求。
修正后的代码
把集合语法改成正确的参数传递方式,textwrap.wrap()的第一个参数是要换行的目标字符串,第二个是每行允许的最大字符数:
size -= len(prefix) if size % 2: size -= 1 return '\n'.join([prefix + line for line in textwrap.wrap(string, size)])
关键说明
textwrap.wrap(text, width=70)是标准用法:text必须是字符串类型,width是控制每行长度的整数参数- 别再用大括号
{}传参,这会创建集合,完全不是该函数需要的参数形式
内容的提问来源于stack exchange,提问作者Thaer Alem
相关产品推荐
相关产品推荐

