我正在尝试将运行时输出存储到CSV文件中。它只存储一个数据,但我想存储所有数据。
我的代码,
path = self.paths[src][dst]
next_hop = path[path.index(dpid) + 1]
out_port = self.network[dpid][next_hop]['port']
print("path: ", path)
writer=csv.writer(open('pth.csv','wb'))
writer.writerow([path]);
输出为
['62:61:5f:80:dc:ca', 5, 4, 1, '46:22:26:36:96:48']
['62:61:5f:80:dc:ca', 5, 4, 1, '46:22:26:36:96:48']
['62:61:5f:80:dc:ca', 5, 4, 1, '46:22:26:36:96:48']
['62:61:5f:80:dc:ca', 5, 4, 1, '46:22:26:36:96:48']
['62:61:5f:80:dc:ca', 5, 4, 1, '46:22:26:36:96:48']
['46:22:26:36:96:48', 1, 4, 5, '62:61:5f:80:dc:ca']
['46:22:26:36:96:48', 1, 4, 5, '62:61:5f:80:dc:ca']
['46:22:26:36:96:48', 1, 4, 5, '62:61:5f:80:dc:ca']
如果您能给出提示,将会很有帮助
答案 0 :(得分:1)
但是在文件中,它仅存储最后一行数据。
可能是因为这个原因:
open('pth.csv','wb')
使用w
截断文件,这意味着它将覆盖先前的内容。
参见https://docs.python.org/2/library/functions.html#open:
最常用的mode值为
'r'
用于读取,'w'
用于读取 写入(如果文件已经存在,则将其截断),'a'
用于 附加(在某些Unix系统上,这意味着所有写入都附加到 文件末尾,无论当前搜索位置如何。
另请参阅相关的How do you append to a file in Python?。
尝试使用a
:
open('pth.csv','ab')