2016-07-14 3 views
0

Я недавно написал этот скрипт в Python 3.5 для поиска текстового файла для данной строки, я не могу понять, как заставить скрипт удалить остальные слова после слова «log», отображается в строке.Python File Search Script

file1 = input ('What is the name of the file? ') 
search_string = input ('What are you looking for? ') 
with open(file1) as cooldude: 
for line in cooldude: 
    line = line.rstrip() 
    if search_string in line: 
     print(line) 

Примером может быть: «Я хочу, чтобы этот материал журнал я не хочу этот материал..» Я хотел бы удалить все после слова «log» и включив его. Благодаря!

+0

Что делать, если строка содержит слово «** ** войти IC» или «** ** журнал arithm «? Или "ana ** log **"? –

+0

Файл (ы), который я бы искал, не имел бы ни одного из этих слов в строке. – krisP

+0

так 'line, sep, _ = line.partition ('log')' или 'line = line.split ('log') [0]' –

ответ

0

Если все, что вы хотите, чтобы удалить часть текста после того, как шаблон 'log' в строке, вы можете использовать либо первую часть выходного str.partition или 0'th индекс str.split:

>>> line = "I want to keep this stuff. log I don't want this stuff." 

>>> line1,sep,_ = line.partition('log') 
>>> line1 
"I want to keep this stuff. " 

>>> line2 = line.split('log')[0] 
>>> line2 
"I want to keep this stuff. " 

Для небольшого изменения можно удалить только часть после последнего 'log' использованием str.rsplit с maxsplit=1:

>>> line = "I want to keep this stuff. log log I don't want this stuff." 
>>> line3 = line.rsplit('log',1)[0] 
>>> line3 
"I want to keep this stuff. log"