2017-02-06 9 views
0

私は、テキストファイルに対していくつかの操作を実行するPythonコードを持っています。私はこのファイルを約200以上のテキストファイルに実行する必要があります。これらのファイルはすべて同じフォルダに保存されています。ファイル名のテキストリストをたどって、Pythonで複数のファイルを開くには?

一度に1つのテキストファイルを開き、操作を実行してから次のテキストファイルを使用してやり直すようにします。

私はこれをどのように行うことができるかについていくつかの指摘を教えてもらえますか?

def main(): 
    text_file = open("filename.txt","r") 
    #operations 
    text_file.close() 

main() 
+0

[Pythonで拡張子が.txtのディレクトリ内のすべてのファイルを検索]の可能な複製(http://stackoverflow.com/questions/3964681/find-all-files-in-directory-with-extension-txt-in-python) –

答えて

2

ファイルを反復処理するlistdirを使用します。

私のコードは次のようです。

import os 

def main(): 
    for filename in os.listdir(somedir): 
     filepath = os.path.join(somedir, filename) 
     if os.path.isfile(filepath): # Is filepath really a file, not a directory? 
      text_file = open(filepath,"r") 
      #operations 
      text_file.close() 

main() 

コメントに記載されているように、withを使用することをお勧めします。

+1

btw。手動でファイルを閉じるのではなく 'with'ステートメントを使用すると、おそらくもっとpythonicで安全になります。 – languitar

-1

ないあなたが持っているが、あなたはまた、 http://www.dabeaz.com/generators-uk/genfind.pyを見て、これは多くのデータを処理するための理想的なソリューションですhttp://www.dabeaz.com/generators-uk/genopen.py

にこれを送信することができますどのように多くのファイルを確認してください。.. おかげデイブ;-)

+0

あなたの記事へのリンクからコードをコピーしてください –

関連する問題