2017-08-20 10 views
-2

私は比較的新しいpythonで、スキルを向上させるプロジェクトに取り組んでいました。 ファイルのスキャン部分に問題があります。テキストファイルを読み込んで単語を探したいのですが。 ご協力いただければ幸いです。単語のテキストファイルをスキャンする

私のコード:コード付き

def check(): 
    datafile = file("res\powerserv 1.txt") 
    for line in datafile: 
     if storage in line: 
      return true 
     else: 
      return false 
+2

[文字列をtxtファイルで検索](https://stackoverflow.com/questions/4940032/search-for-string-in-txt-file-python) –

+0

私はそのコードを既に試してみました – user8480074

+0

正しく動作しなかったため動作しなかった場合ファイルとコードを投稿して、何を試したのか、なぜそれがうまくいかなかったのか、トレースバックと一緒に記載してください。 –

答えて

0

主な問題は、ループの内側return Falseです。

これはあなたのファイルであると仮定すると:

word1 
word2 
word3 

あなたはword3を探しています。さて、これはあなたのプログラムが何をするかである:あなたが必要なもの

word3 == word1 ? 
No, so break 

は次のようになります。これは、コードがどうあるべきか

word3 == word1 ? 
No, next iteration 

word3 == word2 ? 
No, next iteration 

word3 == word3 ? 
return True 

です:

def check(word): 
    with open("res\powerserv 1.txt") as datafile: 
     for line in datafile: 
      if word in line: 
       return True 

    return False 

print(check('your word')) 

return Falseは、ループの外に来ます。また、ファイルの開閉を処理するためにコンテキストマネージャーを使用することを検討してください。

+0

毎回falseを返す – user8480074

+0

@ user8480074今見て、あなたのコードを修正しました。 –

+0

@ user8480074それでも動作しない場合は、おそらくファイルパスが問題になります。試してみてください: '' res \\ powerserv 1.txt "' –

関連する問題