0

我有以下代码:

for node, value in sorted(d.iteritems()):
    outfile.write([node] + value)
    print(node, value)

我阅读了一些关于此的不同 SO 帖子,但仍然有些困惑。print 语句完美运行,在解释器中正确打印键和值。但是我想不出一种让 outfile.write() 语句在这里工作的方法。非常感谢任何澄清!

4

1 回答 1

3

print自动将给定变量转换为字符串(使用__repr__方法)。file.write才不是。您仍然可以使用以下内容写入文件:

outfile.write("%s %s\n" % (node, value))

(我还添加了一个换行符)。但是,您在问题中没有明确说明node和的类型value。该表达式[node] + value暗示这value是一个列表。如果您希望列表以逗号分隔(正如您的问题标题所暗示的那样),您可以将它们组合起来并用逗号将它们连接起来,如下所示:

outfile.write(",".join(map(str, [node] + value)))
于 2012-09-04T20:14:29.690 回答