从目录内的文件读取时出错

Whi*_*key 0 python

我试图读取文件,在文件夹内,原因是文件夹内的文件数量不固定,但如果有3个文本文件夹,我必须读取所有3个文件,如果4个全部4个文本文件.

这是我正在尝试使用的代码,但是出现了一个IOError:

for i in os.listdir("./RecordFolder"):
    print i
Run Code Online (Sandbox Code Playgroud)

输出为:record1.txt record2.txt

现在的问题是读取文件:

for files in os.listdir("./RecordFolder"):
    filecontent = open(files).readlines()
    for lines in filecontent:
    print lines
Run Code Online (Sandbox Code Playgroud)

输出:

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

需要一些帮助,谢谢

Sve*_*ach 10

该函数os.listdir()仅返回文件名,而不是完整路径,因此您应该使用os.path.join()添加目录名称:

directory = "./RecordFolder"
for filename in os.listdir(directory):
    with open(os.path.join(directory, filename)) as f:
        for line in f:
            print line
Run Code Online (Sandbox Code Playgroud)

(另请注意,您不应该使用file.readlines()简单地迭代文件的行,并且您的代码无法关闭文件.这些问题在上面的代码中得到修复.)