Py学习  »  Python

python zip函数从文件中删除太多项

Paul • 5 年前 • 1522 次点击  

我从一个文本文件中读取内容并将其存储在一个列表中(每行作为一个元素)(prizelist)。我也在为Winnerlist做同样的事情,这是另一个列表。

im使用一个zip函数来调用emailuser函数,每次赢家和电子邮件都存在于同一索引中。如果索引中不存在至少一个元素,则循环将停止。

调用该函数后,从列表中删除该奖品,从文件中删除所有内容,然后将列表内容写回文本文件(本质上是删除该元素)。

问题是要么 prizeList.remove(prize) writeTo.write(prizes) 正在从文本文件中删除太多内容。除了在循环中每次迭代删除一个元素(从TXT文件)之外,它还删除了更多的元素。

以下是我的尝试:

   for prize, winner in zip(prizeList, emailList):


    print(f'{prize} goes to {winner}')


    emailUserWithPrize(winner, prize, prizeType)

    print("Before: ")
    print(prizeList)

    prizeList.remove(prize)

    file.close()

    writeTo = open(prizeFile, "w")

    prizes = ""
    for i in range(len(prizeList)):
        prizes = prizeList[i]

    writeTo.write(prizes)



    print("After:")
    print(prizeList)

if len(prizeList) < 1:
    print("No more prizes for " + prizeType)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43213
 
1522 次点击  
文章 [ 2 ]  |  最新文章 5 年前