Как проверить, совпадают ли строки в файле со строками в другом файле в Python - PullRequest
0 голосов
/ 27 мая 2019

Как мне «перебрать» каждую строку в файле Пока я не найду, что соответствует ей, я имею в виду, что я превратил каждую строку в save.data и brute.txt в два списка (для быстрого доступа), здесь brute.txt:

username
username1
password
password1

А вот save.data (так как это для игры с пакетным файлом, нет необходимости заключать в кавычки строки, такие как «username1»):

username1 = PlayerName
password1 = PlayerPass

Итак, мой запрос, я хочу попробовать, если строка 1 из brute.txt совпадает с вещью перед знаком равенства в save.data (то есть 'username1'), если она не совпадает с ней, перейти на следующую строкуи так далее до тех пор, пока он не достигнет конца файла (save.data), а затем попробуйте, если строка 2 из brute.txt соответствует строке 1 из save.data (что соответствует), если нет, переходите к строке 2 из brute.txt, совпадающейвещь перед знаком qual в строке 2 в save.data и так далее ... И, наконец, когда «username» совпадает с «username», создайте переменную с именем username со значением того, что находится после знака равенства в save.data.Итак, когда процесс «брутинга» закончен, у меня должно быть две переменные, одна для username = PlayerName, а другая для password = PlayerPass для дальнейшего использования.Я пробовал время, для и пробовал циклы, но я застрял, потому что для этого мне нужно знать, что находится в save.data.

-Если вы что-то не поняли, пожалуйста, прокомментируйте это, и я очищу этодо.

1 Ответ

0 голосов
/ 27 мая 2019

Возможно, есть более эффективные способы сделать это, но чтобы ответить на вопрос, который вы задали ..

Сначала откройте файл save.data и прочитайте содержимое в список:

with open('save.data') as fp:
    save_data = [line.split(' = ') for line in fp.read().splitlines()]

сделать то же самое для brute.txt файла:

with open('brute.txt') as fp:
    brute = fp.read().splitlines()

, затем просто перебирайте имена пользователей и пароли:

for username, password in save_data:
    if username in brute:
        break
else:
    print("didn't find the username")

переменные username и password из цикла for будут иметь правильные значения после разрывов цикла for.

(обратите внимание, что else: находится в цикле for, а не if ..)

...