我正在尝试将文件中的元组打印为:
for row in s:
# Loop over columns.
for column in row:
print(column, type(column), end=" ")
of1.write("%s " % column)
#of1.write("{:<10}{:<8}{:<23}{:<20}\n".format(row))
of1.write("\n")
print(end="\n")
所有元素都是来自print语句输出的str:
64.08K <class 'str'> 20.0 <class 'str'> 0.95 <class 'str'> 1.7796943385724604e-05 <class 'str'>
代码工作正常,但很明显,格式不正确。我正在尝试使用格式语句 为了更好地格式化,如在注释行中,但它给出错误:
File "eos_res.py", line 54, in <module>
of1.write("{:<10}{:<8}{:<23}{:<20}\n".format(row))
IndexError: tuple index out of range
请帮助。
答案 0 :(得分:1)
您正尝试将整行作为一行传递给格式。使用:
of1.write("{:<10}{:<8}{:<23}{:<20}\n".format(*row))
让Python将row
的各个值传递给.format()
。
或者,使用从一个位置参数中提取单个索引的格式:
of1.write("{0[0]:<10}{0[1]:<8}{0[2]:<23}{0[3]:<20}\n".format(row))