在python中迭代几次后将数据写入文件

在python中迭代几次后将数据写入文件,python,Python,我想在每第五次迭代时将数据写入五个文件,有没有办法做到这一点,我不知道如何获取过去的数据 i=1 while 1: data = random.randint(0,100) print(data) if(i%5==0): with open('D:\mydata\my%d.csv'%(i-4),'D:\mydata\my%d.csv'%(i-3), "w") as csv_file: writer = csv.writer

我想在每第五次迭代时将数据写入五个文件,有没有办法做到这一点,我不知道如何获取过去的数据

   i=1
   while 1:
   data = random.randint(0,100) 
   print(data)
   if(i%5==0):
       with open('D:\mydata\my%d.csv'%(i-4),'D:\mydata\my%d.csv'%(i-3), "w") as csv_file:   
           writer = csv.writer(csv_file, delimiter=',')
           level_counter = 0
           max_levels = 1
           while level_counter < max_levels:
               filename1 = data
               writer.writerow(("No load", filename1)) 
               level_counter = level_counter +1 
               print("done")
   i=i+1
   time.sleep(2)        
i=1
而1:
数据=random.randint(0100)
打印(数据)
如果(i%5==0):
将('D:\mydata\my%D.csv%%(i-4),'D:\mydata\my%D.csv%%(i-3),“w”)作为csv\u文件打开:
writer=csv.writer(csv_文件,分隔符=',')
电平计数器=0
最高水平=1
当液位计数器<最大液位时:
filename1=数据
writer.writerow((“未加载”,文件名1))
液位计数器=液位计数器+1
打印(“完成”)
i=i+1
时间。睡眠(2)

只需使用列表存储过去5次迭代的数据即可:

i = 1
past_data = []
while True:
    data = random.randint(0, 100)
    past_data.append(data)
    if i % 5 == 0:
        ...
        past_data = []
i += 1

如果您打算每隔5次迭代将数据追加到文件中,那么请以追加模式而不是写入模式打开文件。否则,每次都会覆盖旧数据。不,我想写5个不同的文件。我需要5个不同的文件,而不是一个文件。在这种情况下,使用上面的代码,您可以遍历
pass\u data
的5个条目,并将每个条目附加到不同的文件中。另一种方法是创建一个包含五个文件的列表
cache=[[fileA],…,[fileE]]
,并在迭代i后写入
cache[i%5]