Я пишу скрипт Python. Мне нужно найти текстовый файл для слова, а затем распечатать часть этой строки. Моя проблема в том, что слово не будет точным совпадением в текстовом файле.Как найти слово в текстовом файле и распечатать часть строки с помощью Python?
Например, в приведенном ниже примере текстового файла я ищу слово "color="
.
Текст ех Файл:
ip=10.1.1.1 color=red house=big
ip=10.1.1.2 color=green house=small
ip=10.1.1.3 animal = dog house=beach
ip=10.1.1.4 color=yellow house=motorhome
Если он находит его, он должен печатать новый текстовый файл "color=color"
, а не всей линии.
Результат бывший Текстовый файл:
color=red
color=green
color=yellow
Мой код:
for line_1 in open(file_1):
with open(line_1+'.txt', 'a') as my_file:
for line_2 in open(file_2):
line_2_split = line_2.split(' ')
if "word" in line_2:
if "word 2" in line_2:
for part in line_2:
line_part = line_2.split(): #AttributeError: 'list' object has no attribute 'split'
if "color=" in line_part():
print(line_part)
Я считаю, что нужно использовать регулярные выражения или что-то вроде line.find("color=")
, но я не уверен, что и как.
Вопрос: Как искать текстовый файл для слова (не точное совпадение) и печатать только определенную часть каждой строки?
Я получаю сообщение об ошибке: «Объект AttributeError:« list »не имеет атрибута« split », потому что я уже разделил строку раньше. Я отредактирую код выше, чтобы показать весь код. – hjames
Это сильно меняется. Какие из 3+ файлов, которые вы открываете, имеют данные, упомянутые выше? – Brionius
file_2 имеет данные – hjames