@siganiga

List index out of range почему?

В Питоне навыки минимальные.
Только учусь, решил поставить цель сделать чекер аккаунтов.

И тут у меня есть текстовик с аккаунтами в формате User:Pass
И у меня вышел код:

import requests

# Читаем
file = open('logins.txt').read().split('\n')
goods = open('good.txt', 'a+')
# Чекаем все аккаунты
for account in file:
    username = account.split(":")[0]
    passwords = account.split(":")[1]

    login = requests.post("127.0.0.1:5000", data={'login': username, 'pass': passwords}).text
    # Проверяем верный ли пароль
    if not "Не верный пароль" in login:
        # Пароль верный, получаем баланс
        goods.write(f"{account}")
        print(f"Валидная акк {account} )")
    else:
        # Пароль не верный
        print(f"Не валидный акк {account}")


(все работает)

Но тут я решил попробовать работать по другой схеме
Admin:Password:SecretQuestion

И по логике просто добавил третью строку
username = account.split(":")[0]
passwords = account.split(":")[1]
code = account.split(":")[2]

но у меня вылетала сразу же ошибка
IndexError: list index out of range
как можно это исправить?
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 2
@kirillinyakin
Попробуйте выводить account на каждой итерации, возможно там пустая строка или что-то либо того
Ответ написан
Комментировать
siganiga, также есть большая вероятность, что в какой-то из строк отсутствует code.
Внутри цикла можно добавить проверку на число разделителей:
for account in file:
    if account.count(":") == 3:
        username = account.split(":")[0]
        passwords = account.split(":")[1]
        code = account.split(":")[2]
    else:
        print("code is absent")
        username = account.split(":")[0]
        passwords = account.split(":")[1]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы