Python:Typeerror:传递给对象的非空格式字符串。\uu格式__

Python:Typeerror:传递给对象的非空格式字符串。\uu格式__,python,python-3.4,Python,Python 3.4,我知道有人问过这个问题,但解决办法对我不起作用。我正在使用python3.4 我的脚本中有以下格式: print ( "\t {0:20} {1:<11} {2:<25} {3:11} {4:11} {5:>32}".format( files.name.split('/')[-1], sizeof_fmt(files.size),

我知道有人问过这个问题,但解决办法对我不起作用。我正在使用
python3.4

我的脚本中有以下格式:

print ( "\t {0:20} {1:<11} {2:<25} {3:11} {4:11} {5:>32}".format( files.name.split('/')[-1], sizeof_fmt(files.size),
                                                                          str( formatted_timestamp ), files.owner,
                                                                          files.version_id, files.etag ))
我试过这个:

print ( "\t {0:20} {1:<11} {2:<25} {3:11} {!s4:11s} {!s5:>32s}".format( files.name.split('/')[-1], sizeof_fmt(files.size),
                                                                          str( formatted_timestamp ), files.owner,
                                                                          files.version_id, files.etag ))

print(“\t{0:20}{1:您的一个参数类型没有自己的
\uuuuuu format\uuuuu()
方法,因此使用
对象

object.\uuuuu format\uuuuuu()
不支持任何格式选项,包括字段宽度和对齐方式,这就是出现错误的原因

首先转换为字符串应该有帮助,但您确实需要将转换放在字段名之后;而不是使用
{!s4:11s}
使用
{4!s:11s}
,等等:

print ( "\t {0:20} {1:<11} {2:<25} {3:11} {4!s:11s} {5!s:>32s}".format(
    files.name.split('/')[-1], sizeof_fmt(files.size),                                                                           
    str(formatted_timestamp), files.owner,
    files.version_id, files.etag))

print(“\t{0:20}{1:尝试缩小范围。从
格式
调用中逐个删除参数,直到不再出现错误为止。开发一个解决方案是迈向解决方案的第一步。是否要解释否决票?我已经承认类似的问题,我没有否决票,但其他人可能会对您的代码产生
名称错误:名称'fil感到恼火es'未定义
,而不是
TypeError
。如果不提供我们可以复制粘贴运行的代码,它会给人一种感觉,即您没有在中途完成。字段名后面会出现转换;
{!s4:11s}
无效,只有
{4!s:11s}
。这很有效。我可以发誓我尝试过在字段名后进行强制字符串转换,但可能我没有。我仍然不明白这一点。我认为
.format
只是一个“聪明”的选择对齐和打印的方式。
format
是否意味着传递给它的每个对象都有其自己的被调用的
.format
?@newkid101:是的,格式化被委托给对象上的
\uuuuuu format\uuuu
方法。
print ( "\t {0:20} {1:<11} {2:<25} {3:11} {4!s:11s} {5!s:>32s}".format(
    files.name.split('/')[-1], sizeof_fmt(files.size),                                                                           
    str(formatted_timestamp), files.owner,
    files.version_id, files.etag))