在python中的文件夹中打开多个文件以进行读/写

时间:2014-03-02 15:07:40

标签: python csv file-io python-3.x

因此,如果我有一个数据文件夹,其中包含15个txt文件,如何在一个函数中同时打开多个txt文件,另一个在另一个函数中设置另一个?

所以我写了这个:

with open("data/datafile.csv" , "r") as f :
    reader = csv.reader(f) 
    return list(reader)

那么我怎么能做同样的事情,但同时有几个文件?

2 个答案:

答案 0 :(得分:0)

如果可以在同时完成所有操作,那么您所能做的就是将您的阅读放入其自己的功能(即read_csv)然后获取所有txt文件在一个目录中,并为您在目录中找到的每个文件调用函数:

import os
def read_all_files(directory);
    return [read_csv(f) for f in os.listdir(directory) if f.endswith(".txt")]

这将为传递目录中以“.txt”结尾的每个文件调用一个函数read_csv,并将其全部放入一个返回的大列表中。

答案 1 :(得分:0)

如果同时打开更多文件很重要,那么:

with open("data/datafile.csv" , "r") as f:
  with open("data/datafile2.csv" , "r") as f2:
    f.read()
    f2.read()

f = open("data/datafile.csv" , "r")
f2 = open("data/datafile2.csv" , "r")
f.read()
f2.read()
f.close()
f2.close()