2016-05-17 20 views
0

私はPythonに新しく、acne.txtという名前のファイルを開く方法に取り組んでいます。これは私のコードと同じpython34フォルダにある私の定義フォルダの中にあります。Pythonの特定のフォルダで変数ファイルを開く方法は?

私は同じのために書かれたコードは次のとおりです。

NN_is = [word for word,pos in tagged_sent if pos == 'NN'] 
print(NN_is[0]) 
searchfile = open(r"define/NN_is[0].txt", "r") 
file_contents = searchfile.readlines() 
searchfile.close() 

変数NN_is [0]印刷利回りにきび。誰かがこの問題を解決するのを助けることができますか?

ありがとうございます。

答えて

0

使用os.path.join()ディレクトリとファイル名を連結し、ファイル名の文字列を構築するためにstr.format()を使用する:

import os.path 

path = os.path.join('define', '{}.txt'.format(NN_is[0])) 
with open(path) as searchfile: 
    file_contents = searchfile.readlines() 
    ... 

私はまた、あなたがwithステートメント内のファイルを開くことをお勧めします。これにより、エラーがあってもファイルが常に閉じられることが保証されます。ファイルを明示的に閉じる必要がないので便利です。withステートメントが有効範囲外になると閉じられます。

+0

「NN_is [0] .txt」というコードは、** content ** 'NN_is [0]'の文字列であり、 'NN_is'は'' NN_is [0] 'は文字列' define/'であり、変数の内容は連結されています。 .path.join'と 'str.format'だけで作業が簡単になります(os.path.joinは自動的に正しい"/"または" // "を使用します)。厳密に言えば"必要 "ではありません。 – syntonym

+0

ありがとうございます@mhawke –

+0

変数NN_is [0]に名前のファイルがないと仮定して、「No such file exists」と表示したい場合上記の作業を行うにはどうすればよいですか? –

関連する問題