2016-03-20 3 views
0

内の文字列の後に私はフォーマットa.docという名前のWord文書があります。Pythonの保存、残りのdoc

名 - ボブ

髪の色 - レッド

年齢 - 28 ...

"Name - " "Hair color - " ...の後の情報を変数に保存して、後でスクリプトにアクセスしたいとします。

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

これは私が立ち往生する場所です。私は、各行に " - "の後ろにつかむための文を追加できると思っています。

編集:私は別に後、各ラインの情報をつかむしたい 「 - 」と変数に格納: は私が何を探しています何の私の説明でより正確に。たとえば、名前 - Bobは名前に 'Bob'と同じ名前で格納されます。

私はこれまでの更新からいくつかの進歩を遂げました。私はちょうど私がそれをやっている方法が簡単に繰り返すことを許さないことを知っている。

は、私は正常に利用情報を引っ張ってきた:

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」を作り続けることができることを知っています最も速い方法。

私の実際の質問: 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) 

このコードは 名前 - (名前)、ヘアカラー - (ヘアカラー)、年齢 - (年齢)の形式で情報を返します。 注:このコードでは名前を検索できますが、追加することはできません

関連する問題