python循环不循环我的期望

Dav*_*ani 1 python

我花了最后两个小时试图解决这个问题.请帮助我在过去两个小时内尝试使用Google.没运气.我究竟做错了什么?

codes.txt的内容:

TKF6J-KXP6V-F499V-Q9XPC-7J6TZ;J9YCV-D4TH6-WWWWV-F2RM7-F63XZ;GXKCC-QDT34-3JRY4-TWKHX-R763Z;
Run Code Online (Sandbox Code Playgroud)

myscript.py

import re
from sqlalchemy import *

string = open("codes.txt").readlines()

for item in string:
    set = [item.split(";")]
    print "success"
Run Code Online (Sandbox Code Playgroud)

为什么它只打印一次"成功"?我希望它能为codes.txt中的项目数量打印成功.

Roc*_*key 5

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',
 '']
Run Code Online (Sandbox Code Playgroud)

然后你的迭代应该按预期工作.另外,尽量避免为变量使用Python内置名称(例如string- 它只会导致心痛:)).