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