Skip to main content
 首页 » 编程设计

python循环没有按照我的预期循环

2025年05月04日13sky-heaven

在过去的两个小时里,我一直在努力解决这个问题。请帮助我在过去两个小时内尝试过谷歌。没有运气。我做错了什么?

codes.txt的内容:

TKF6J-KXP6V-F499V-Q9XPC-7J6TZ;J9YCV-D4TH6-WWWWV-F2RM7-F63XZ;GXKCC-QDT34-3JRY4-TWKHX-R763Z; 

我的脚本.py

import re 
from sqlalchemy import * 
 
string = open("codes.txt").readlines() 
 
for item in string: 
    set = [item.split(";")] 
    print "success" 

为什么它只打印一次“success”?我希望它打印 codes.txt 中项目数的成功。

请您参考如下方法:

readlines() 实际上是在寻找换行符,因为看起来你的字符串没有换行符,所以它只读取一行,因此只返回一个元素(这就是@kayZhu 刚刚说,抱歉:))。我认为您希望在分号处拆分,因此您可以尝试这样做:

In [19]: with open('codes.txt', 'r') as f: 
   ....:     contents = f.read().split(';') 
   ....: 
   ....: 
 
In [20]: contents 
Out[20]: 
['TKF6J-KXP6V-F499V-Q9XPC-7J6TZ', 
 'J9YCV-D4TH6-WWWWV-F2RM7-F63XZ', 
 'GXKCC-QDT34-3JRY4-TWKHX-R763Z', 
 ''] 

然后您的迭代应该按预期工作。此外,尽量避免为变量使用 Python 内置名称(例如 string - 它只会在路上引起心痛:))。