读取目录

时间:2016-09-15 10:11:59

标签: python io

我的目录poem包含50个文件,我想全部阅读。

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

此代码读取目录中所有文件的文件名。 但它失败了

f = open(file, 'r')

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

2 个答案:

答案 0 :(得分:9)

os.listdir只返回文件名,以获取您正在阅读的文件夹加入该文件名所需的完整路径:

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 :(得分: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()