2014-08-31 2 views
-4

Я новичок в python. У меня есть список car = [skoda,audi,benz]. Мне нужно заменить эти слова один за другим в текстовый файл, где бы я ни находил car="mycar"/ vehicle="myvehicle"python заменить слова один за другим из списка

Пожалуйста, помогите, ответы будут оценены. Рассмотрим У меня есть текстовый файл:

I have a car="mycar" 
My friend has a vehicle="myvehicle" 
My uncle have a car="mycar" 

Мне нужно заменить Список машины в текстовый файл и получить следующий результат:

I have a car="skoda" 
My friend has a vehicle="audi" 
My uncle have a car="benz" 
+1

Итак, каков ваш вопрос и что вы пробовали? – vaultah

+0

У меня есть список, мне нужно заменить слова из списка на текстовый файл, если я найду 'car =/Vehicle =' –

+1

Итак, каков ваш вопрос и что вы пробовали? – vaultah

ответ

-2

Объединить re.sub с itertools.cycle:

import re, itertools 

car = ['skoda', 'audi', 'benz'] 

text = """ 
I have a car="mycar" 
My friend has a vehicle="myvehicle" 
My uncle have a car="mycar" 

Second verse same as the first 

I have a car="mycar" 
My friend has a vehicle="myvehicle" 
My uncle have a car="mycar" 
""" 

it = itertools.cycle(car) 
newtext = re.sub(r'mycar|myvehicle', lambda _: next(it), text) 
+1

спасибо, но он не печатает и не заменяет автомобили! Когда я печатаю текст! –

+0

Я такой глупый, и наглые одни самые глупые, спасибо за ответ, он отлично работает! –

+0

@ Невыдвигатели: выйди и посмотри на меня, трусы! ;) – georg

Смежные вопросы