首页 > 解决方案 > 如何迭代文件的名称并将它们附加到文件内容

问题描述

我希望我的数据采用这种格式

文件名:文件内容

但是当我运行我的代码时它不起作用。你能帮忙吗?

这会获取文件的名称

def list_of_files():
    path = '/mnt/c/baseline'
    files = os.listdir(path)
    for f in files:
        # print(f)
        return(files)

这会加载内容

def load_file(filename):
    loadfile = open("aivc-tests/baseline/"+ filename, "r")
        return(loadfile)

这应该获取每个文件名并将其附加到正确的加载文件


a = str(list_of_files())


data2 = []
data2 = { 
    for i in a:
        name_of_file: load_file(filename) 
}

print(data2)

请帮忙

标签: pythonloopsiterator

解决方案


首先删除函数中返回值周围的括号。

进而

loadfile = open("aivc-tests/baseline/"+ filename, "r")

只返回一种文件指针。您仍然需要调用该read()函数来获取文件的内容。将其更改为

def load_file(filename):
    # variable for file content
    text_str=""

    # open file
    with open("aivc-tests/baseline/"+ filename, "r") as f:

        # read file
        text_str=f.read()

    return text_str

推荐阅读