我的目录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'
答案 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()