2016-10-15 18 views
0

各ファイルの内容をPythonで別のリストにまとめたいと思います。に、ファイルごとに、私はの各ファイルを読み込むことができグロブで各ファイルの内容をPythonの別のリストに読み込みます

for i in file_path; do writing stuff; done 

が、私は、リストの内容を保存したい:私は、私が言うことができるループのためのbashと似た何かをすることができることに慣れています後で名前とリスト数をハードコーディングすることなく、比較目的でそれらを使用してください。

import sys 
import glob 
import errno 

list_$name[] ##<this is not python 

path = './dir_name/*' 
files = glob.glob(path) 
for name in files: 
    try: 
     with open(name) as f: 
      lines = f.read().splitlines() 


    except IOError as exc: 
     if exc.errno != errno.EISDIR: 
      raise 

は、私も可能やりたいか、私はループとして各ファイルを処理するためのシェルスクリプトを使用する必要が何をすべきかです:これは私がPythonで得ているどのくらいいるのですか?

+1

読んで比較しているのはどのような種類のデータですか? – lhcgeneva

+0

どのような比較をしているのですか?線のリストが必要ですか? file_pathの中でどのように 'for i 'なのかよく分からない。ものを書く。 doneは複数のファイルをリストに読み込むことと同等です。 –

+0

@Padraic Cunningham質問は実際にはbash質問ではありません。簡潔にするために、私はいくつかのファイルの処理された内容をbashに保存することができ、Pythonでこれを行う方法を知らなかったことを示す簡単な例がほしいだけでした。混乱してごめんなさい。 – badner

答えて

1
import sys 
import glob 
import errno 

list_$name[] ##<this is not python 

path = './dir_name/*' 
files = glob.glob(path) 

contents = [] 
for name in files: 
    try: 
     with open(name) as f: 
      lines = f.read().splitlines() 
      contents.append (lines) 


    except IOError as exc: 
     if exc.errno != errno.EISDIR: 
      raise 

    # Your contents list will now be a list of lists, each list containing the contents of one file. 
+0

私は考えていたものと概念的に違いますが、間違いなく素晴らしい解決策です!ありがとうございました! – badner

+0

それはあなたのために働くニース! –

関連する問題