读取目录中的所有文件内容

use*_*212 0 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()
Run Code Online (Sandbox Code Playgroud)

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

f = open(file, 'r')
Run Code Online (Sandbox Code Playgroud)

IOError: [Errno 2] No such file or directory: '32'
Run Code Online (Sandbox Code Playgroud)

Sup*_*Man 10

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()
Run Code Online (Sandbox Code Playgroud)