Как я могу избавиться от определенных символов до конца каждой строки в списке? - PullRequest
0 голосов
/ 01 февраля 2019

В настоящее время у меня есть код, который извлекается из файла с именем output.txt.Он читает эти строки и помещает их в список.Если слово «Успех» найдено, оно печатает эту строку.В настоящее время распечатывает всю строку.Я хочу иметь возможность получить первую часть каждой строки для моего следующего задания, но у меня возникают проблемы с удалением остальной части строки после определенного символа.

Например, напечатайте строки:

user:pass Success Info
user:pass Success Info

и т. Д.

Я бы хотел просто вернуть:

user:pass
user:pass
user:pass

Ядовольно плохо знаком с python, поэтому я немного борюсь с тем, как избавиться от остальной части строки

Я пытался отделить слово «Успех», но это не работает правильно.

lines = []
with open("output.txt", "r") as f:
    for line in f.readlines():
        if 'Success' in line:
            lines.append(line.rstrip('\n'))
for element in lines:
    print(element)

В настоящее время он печатает user:pass Success Info

Фактический вывод, который мне нужен, user:pass

Я открыт для любых предложений

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

Основываясь на том, что у вас есть, используйте find:

lines = []
with open("output.txt", "r") as f:
    for line in f.readlines():
        if 'Success' in line:
            lines.append(line[:line.find("Success")-1])
for element in lines:
    print(element)
0 голосов
/ 01 февраля 2019

Если вы знаете, что в том, что вы хотите напечатать, не будет пробелов, и вы знаете, что то, что вы хотите напечатать, всегда будет перед пробелами, вы можете попробовать это:

some_text = 'user:pass Success'
split_text = some_text.split(' ')
print(split_text[0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...