2012-01-28 5 views
0

をお読みください。Pythonは私が使用して読んでTXTファイル、内のsimplejson形式でいくつかのデータを持っているテキストファイルの100年代に

with open("my_file.txt") as f: any_variable = simplejson.load(f) 

をそれは、何の問題も正常に動作しません。しかし、私は今、そのようなテキストファイルを100個持っています(いくつかの名前はわかりません!)。これらのファイルをすべて読み込んで、「any_variable1 to〜」のようなpyononicな方法があれば、私は疑問に思っていました。 any_variableN。

明らかに、単純なやり方では結果をループして保存することになりますが、ここではPythonの方法があるのか​​疑問に思っていました。

+1

あなたは 'any_variableN'変数の負荷を有していると考えているとき、それはほとんど常にあなたがリストを使用する必要があります意味(またはいくつかの中場合は辞書)、 'any_variable [N]'を参照してください。 –

+0

トーマス、下記の私のコメントをご覧ください。私は実際にそれを配列にしようとしました。しかし、私のdpasteエラーで示されているように何かが動作していません。 – JohnJ

答えて

4

ファイルがディレクトリ内にある場合は、あなたが使用することができます。

variables = [] 
path = "/your/path" 
for filename in os.listdir(path): 
    variables.append(simplejson.load(open(os.path.join(path, filename)))) 
+0

、トーマス:実際、私はあなたが示唆したことを恥ずかしく試みました。ただし、これを行うとエラーが発生します(http://dpaste.com/694374/)。しかし、私が単に ":open(" my_file.txt ")をf:any_variable = simplejson.load(f)としてディレクトリ内のすべてのファイルに使用すると、エラーは発生せず、すべて正常です。これがなぜなのかの手がかりは?もう一度ありがとう。 – JohnJ

+1

間違ったファイルパスを開くか、JSONデータがないように見えるので、完全な例を投稿できますか? – Gregor

+1

forループに 'print filename'を追加すると、どのファイルが落ちるかを知ることができます。 –

関連する問題