Python ".write" 方法
我想把这个内容“转换”成:
input=[(0.25 , 'x1'),(0.20 , 'x2'), ............................]
这样我就可以在test.txt文件里写入这些内容: x1=0.25, x2=0.20, x3= ..................
f = open('test.txt', 'w')
f.write(input)
f.close()
我知道用print的时候,这样是可以的:
print ' '.join("%s=%s" % (y, x) for x,y in input)
但我不能“导入”到f.write(...)里去
编辑:感谢大家,所有方法都有效,我忘记了我可以使用:
f.write(' '.join("%s=%s" % (y, x) for x,y in input))
6 个回答
1
试试这个:
s = ', '.join("%s=%s" % (y, x) for x,y in input)
f.write(s)
2
这段代码有什么问题吗?
f.write(' '.join("%s=%s" % (y, x) for x,y in input))
?
或者
print >>f, ' '.join("%s=%s" % (y, x) for x,y in input)
其实有一点小区别,就是前面的那段代码最后不会有换行符。不过这个问题很容易解决。
1
你有这段代码:' '.join("%s=%s" % (y, x) for x,y in input)
,然后你把它打印出来;如果把这个结果传给f.write
,这也是完全可以的:
f = open('text.txt', 'w')
f.write(' '.join("%s=%s" % (y, x) for x,y in input))
f.close()