Python ".write" 方法

0 投票
6 回答
8386 浏览
提问于 2025-04-16 08:05

我想把这个内容“转换”成:

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()

撰写回答