如何迭代文件的名称并将其附加到文件内容中



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

文件名:文件内容

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

这将获取文件的名称

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)

请帮助

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

然后

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

我仔细阅读了代码,并用我电脑上的一些文件运行了它。当然,这可能与您不同,因为我不知道您要打开什么类型的文件,也不知道您正在处理什么类型的数据(数字或字符串(。

尽管如此,以下是我如何使其发挥作用的,我希望它能有所帮助:

def list_of_files():
path = '/mnt/c/baseline'

files = os.listdir(path)

return(files)

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

a = list_of_files()
data2 = { i : load_file(filename) for i in a } #dictionary with data and filenames

我还认为你可能想改变你称";load_file(文件名(";用";load_file(i(";以获得该确切文件的数据;i〃;将是文件的字符串名称

最新更新