我有以下代码:
for node, value in sorted(d.iteritems()):
outfile.write([node] + value)
print(node, value)
我读了几个不同的SO帖子,但仍然有些困惑。 print语句完美地工作,在解释器中正确打印键和值。但我无法找到一种方法来让outfile.write()语句在这里工作。非常感谢任何澄清!
答案 0 :(得分:3)
print
自动将给定变量转换为字符串(使用__repr__
方法)。 file.write
没有。您仍然可以使用以下内容写入文件:
outfile.write("%s %s\n" % (node, value))
(我还添加了换行符)。但是,您没有在问题中明确node
和value
的类型。表达式[node] + value
表示value
是一个列表。如果您希望列表以逗号分隔(如问题标题所示),您可以将它们组合起来并使用逗号连接它们,如下所示:
outfile.write(",".join(map(str, [node] + value)))