2016-03-20 1 views
0

У меня есть слово документ с именем A.doc отформатированный:Python Сохранить остальные строки после строки в документ

Имя - Боб

цвет волос - красный

Возраст - 28 ...

Я хотел бы сохранить информацию после «Имя -» «Цвет волос -» ... в переменную для доступа позже в скрипте. Было бы проще всего создать список:

Keywords = (Name, 'Hair color', Age) 
Fileopen = open(a.doc) 
    Filecontent = readlines(fileopen) 
     For keywords in filecontent: 

Здесь я застрял. Я думаю, я могу добавить заявление, позволяющее захватить после «-» в каждой строке.

EDIT: Чтобы быть более точным в моем объяснении того, что я ищу делать: Я хотел бы, чтобы захватить информацию в каждой строке отдельно после «- » и сохранить его в переменной. Например, имя - Боб будет храниться в имени, равном «Боб».

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

Я успешно вытащил информацию использующую:

filename = raw_input("choose your file: ") 
print "you chose: %r" % filename 
with open(filename) as fo: 
    for line in fo: 
     if "Name" in line: name = line.split(" - ", 1)[1] 
print name 
fo.close() 

Я знаю, что я могу продолжать делать новый «если» заявление для каждого из моих строк я хотел бы тянуть, но, очевидно, что ISN» t самый быстрый путь.

Мой реальный вопрос: Как сделать оператор if в цикле, который будет проверять несколько строк и назначать их отдельным переменным?

В конце концов, я действительно просто хочу использовать эти переменные и изменить порядок их распечатки, поэтому я нуждаюсь в них отдельно. Я попытался использовать «ключевые слова», но не уверен, как разрешить динамически определять каждую переменную, которую я бы хотел. Должен ли я добавить их в список или кортеж и впоследствии вызвать их таким образом? Имя переменной явно не имеет значения вне программы, поэтому, если я назвал ее из кортежа, как в [0], это может сработать.

+0

Мне не совсем понятно, что вы хотите сохранить. Вы хотите сохранить как ключ «Цвет волос», так и его значение «Красный»? Если да, то словарь может быть способом. – mmenschig

ответ

0

Этого код запрашивает имя, возраст и цвета волос человека, а затем возвращает информацию этого человека при хранении информации в переменной Filecontent и сохраняются до тех пор, пока не будет закрыта скорлупа:

def namesearch(Name, Hair, Age): 
Keywords = ('Name - ' + Name + ', Hair Color - ' + Hair \ 
     + ', Age - ' + Age) 
Fileopen = open('a.doc', 'r') 
for line in Fileopen: 
    if Keywords in line: 
     global Filecontent 
     Filecontent = line 
     print line 

Name = raw_input('Enter the person\'s name: ') 
Hair = raw_input('Enter the person\'s hair color: ') 
Age = raw_input('Enter the person\'s age: ') 
namesearch(Name, Hair, Age) 

Этого код возвращает информацию в таком формате: Имя - (ФИО), Цвет волос - (Цвет волос), Возраст - (Возраст). Примечание: Этот код может только искать имена, а не добавлять их

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

  • Нет связанных вопросов^_^