将print后跟逗号转换为python中的writelines

时间:2014-09-04 01:59:20

标签: python string printing

我有一个现在正常工作的脚本,并在python shell窗口中打印输出。我想将这些行写入文件而不是shell。

for k in keys:
    print '%s' % (d[k]),
print ""

我之所以这样做,是因为逗号将打印成一行(所有键都打印成一行),然后读取第二行并打印出来......但我希望将其写入文件 相同 打印到控制台的方式。我试图使用.join(),但我做得不对。我已粘贴到目前为止所尝试的内容..

val_list = []
for k in keys:
  val = '%s' % d[k]
  val_list.append(val)
print ''.join(val_list)

这将所有键输出为单行,因此当它通过for循环时,它应该打印第一行打印键然后转到下一行打印键,然后是第三行等等。每个line是一组独特的值,所以我需要它。最后,我希望将所有密钥写入文件

2 个答案:

答案 0 :(得分:0)

我想我理解你想要的东西。

with open('somefile.txt', 'w') as f:
    val_list = []
    for k in keys:
        val = '%s' % d[k]
        val_list.append(val)
    f.write(' '.join(val_list) + '\n\n')

答案 1 :(得分:0)

执行此操作的一种简单方法是使用>>,如下所示:

with open('somefile.txt', 'w') as f:
    for k in keys:
        print>>f, '%s' % (d[k]),
    print>>f, ""