社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

Paul • 5 年前 • 1515 次点击  

我从一个文本文件中读取内容并将其存储在一个列表中(每行作为一个元素)(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
 
1515 次点击  
文章 [ 2 ]  |  最新文章 5 年前