2017-02-12 16 views
1

私は非常に非常にPythonに新しいです。 には基本的なヘルプが必要です。特定の単語を見つけ、その単語の後にPythonで読む

私のロジックは、テキストファイル内の単語を見つけることです。

party A %aapple 1 
Party B %bat 2 
Party C c 3 

%から始まるすべての単語を見つける必要があります。

私のコードは

searchfile = open("text.txt", "r") 
for line in searchfile: 
for char in line: 
if "%" in char: 
    print char  

searchfile.close() 

ですが、出力はわずか%文字です。私は%appleと%batのputputが必要です

助けてください?

答えて

1

ファイルを正しく読み込めません。

searchfile = open("text.txt", "r") 

lines = [line.strip() for line in searchfile.readlines()] 
for line in lines: 
    for word in line.split(" "): 
     if word.startswith("%"): 
      print word 

searchfile.close() 

また、これを解決するには正規表現も検討する必要があります。

+0

は、これはただのスタートを印刷しています文字。私は言葉全体が必要です。リンゴのような。だけでなく、A – user3296651

+1

それはないです。あなたの入力は何ですか?私は、%now now it apple、bat –

+0

を含む単語を印刷する答えを更新しています。スクリプトをテストしたところ、正しく動作しています。しかし、あなたは '' test.txt'''を開いていますが、@ user3296651は '' 'text.txt'''を開いたかったのです。 – Michael

0

例示のために、私は、これは正規表現で行うことができるかを示すのBipulジャイナ教のreccomendationにフォローアップしています:

import re 

with open('text.txt', 'r') as f: 
    file = f.read() 

re.findall(r'%\w+', file) 

結果:

['%apple', '%bat'] 
関連する問題