我将打印输出写入文件时遇到问题。
我的代码:
list1 = [2,3]
list2 = [4,5]
list3 = [6,7]
for (a, b, c) in zip(list1, list2, list3):
print a,b,c
我得到的输出是:
>>>
2 4 6
3 5 7
>>>
但是我在保存此输出方面遇到了问题,我试过了:
fileName = open('name.txt','w')
for (a, b, c) in zip(list1, list2, list3):
fileName.write(a,b,c)
和各种组合,如fileName.write(a + b + c)或(abc),但我不成功......
干杯!
答案 0 :(得分:1)
问题是,write
方法需要string
,并且您需要int
。
with open('name.txt','w') as fileName:
for t in zip(list1, list2, list3):
fileName.write('{} {} {}'.format(*t))
答案 1 :(得分:0)
如何使用格式字符串:
fileName.write("%d %d %d" % (a, b, c))
答案 2 :(得分:0)
使用with
。可能您的文件句柄未关闭或正确刷新,因此文件为空。
list1 = [2,3]
list2 = [4,5]
list3 = [6,7]
with open('name.txt', 'w') as f:
for (a, b, c) in zip(list1, list2, list3):
f.write(a, b, c)
您还应注意,这不会在每次写入结束时创建新行。要使文件的内容与您打印的内容相同,您可以使用以下代码(选择一种写入方法):
with open('name.txt', 'w') as f:
for (a, b, c) in zip(list1, list2, list3):
# using '%s'
f.write('%s\n' % ' '.join((a, b, c)))
# using ''.format()
f.write('{}\n'.format(' '.join((a, b, c))))
答案 3 :(得分:0)
您可以使用print >> file
语法:
with open('name.txt','w') as f:
for a, b, c in zip(list1, list2, list3):
print >> f, a, b, c