2016-09-15 8 views
0

私は、ディレクトリがpoemで、ファイルが50個あり、それらをすべて読みたいと思っています。ディレクトリ内のすべてのファイルコンテンツを読み取る

for file in os.listdir("/home/ubuntu/Desktop/temp/poem"): 
    print file 
    f = open(file, 'r') 
    print f.read() 
    f.close() 

このコードは、ディレクトリ内のすべてのファイルのファイル名を読み取ります。 しかし、それは

IOError: [Errno 2] No such file or directory: '32' 
+0

'os.listdir'はファイルへのフルパスを返しません。 – Sevanteri

答えて

7

os.listdirだけあなたが読んでいるフォルダとそのファイル名に参加する必要があり、完全なパスを取得するには、ファイル名を返すと言って

f = open(file, 'r') 

で失敗:

folder = "/home/ubuntu/Desktop/temp/poem" 
for file in os.listdir(folder): 
    print file 
    filepath = os.path.join(folder, file) 
    f = open(filepath, 'r') 
    print f.read() 
    f.close() 
1

ディレクトリフォルダーを持つ現在の結合ファイルパス内のファイルを検索しています。

import os 

for i in os.listdir("/home/ubuntu/Desktop/temp/poem"): 
    if os.path.isfile(os.path.join("/home/ubuntu/Desktop/temp/poem",i)): 
     print os.path.join("/home/ubuntu/Desktop/temp/poem",i) 
     f=open(os.path.join("/home/ubuntu/Desktop/temp/poem",i),"r") 
     print f.readlines() 
     f.close() 
関連する問題