如何读取多个txt文件中的信息?

How do I read the information from multiple txt files?

这是我从我的文件夹中读取文件的代码,但我不知道如何读取每个文件的信息。

import os

def readfiles(folder):

    for file in os.listdir(folder):
        print(file)
        if os.path.isdir(os.path.join(folder,file)):
            devolverArchivos(os.path.join(folder,file))

readfiles("/home/citlali/Modelos")

您可以使用 open("text.txt").read().splitlines() 阅读文本文件。例如

import os

def readfiles(folder):
    result1 = []
    result2 = []
    for file in os.listdir(folder):
        if file[-4:] == '.txt':
            result1.append(open(file).read().splitlines())
            result2.extend(open(file).read().splitlines())
    print(result1)
    print(result2)

readfiles("/home/citlali/Modelos")

根据您希望如何编译结果,list.append() 将附加 list 文本行,而 list.extend() 将添加单独的文本行(即,将 2 个列表合并为 1 个列表)。

要将所有文本文件写入 1 个文本文件,您可以尝试:

def readfiles(folder):
    with open('result.txt', 'a') as write_file:
        for file in os.listdir(folder):
            if file[-4:] == '.txt':
                write_file.write(', '.join(open(file).read().splitlines()))
                write_file.write('\n')
    write_file.close()

readfiles("/home/citlali/Modelos")

您可以像下面这样使用 os.walk()

import os

temp = {}

for subdir, dirs, files in os.walk("."):
    for file in files:
        filepath = subdir + os.sep + file
        if filepath.endswith(".txt"):
            # Your function goes here!
            with open(filepath) as f:
                temp[filepath] = f.readlines()