2015-04-13 1 views
0

Выполнение кода нижеобъект Python не может быть истолковано как индекс

import threading 
import io 
import Client 

Proxies = None 
Users = None 

with open("proxies.txt") as x: 
    Proxies = x.readlines() 

with open("ids.txt") as f: 
    Users = f.readlines() 

c = 0 
for udata in Users: 
    uid = udata.split(':')[0] 
    ok = udata.split(':')[1] 
    while True: 
     proxy = Proxies[c].strip('\n') 
     proxySplit = proxy.split(':') 
     c = Client.Client(proxySplit[0], proxySplit[1], uid, ok, 171147281) 
     if(c): 
      c += 1 
      break 

У меня это исключение:

Traceback (most recent call last): 
File "Run.py", line 20, in <module> 
proxy = str(Proxies[c]).strip('\n') 
TypeError: object cannot be interpreted as an index 

Я не могу найти то, что случилось с моим кодом. Любая помощь будет оценена.

ответ

4

Похоже, что в строке 22 c = Client.Client(proxySplit[0], proxySplit[1], uid, ok, 171147281) вы делаете c объект, а не int. И когда он снова переходит к строке 20, c используется как индекс, который недопустим.

+0

Спасибо! Я полностью пропустил это, это не позволяет мне отметить это как ответ сейчас, 10 минут, я, однако, отмечу это как ответ. – iMix

+0

Это хорошая часть того, почему руководство по стилю говорит вам использовать значащие имена вместо однобуквенных имен для ваших переменных. У вас меньше шансов использовать одно и то же имя для счета и клиентского объекта, если вы называете их 'count' и' client' вместо того, чтобы пытаться выбрать одну букву для каждого ... – abarnert

+0

Да, это то, что я сделал. :) – iMix

Смежные вопросы