Python读取文件夹下的所有文件实例代码

时间:2021-05-23

Python读取文件夹下的所有文件

os.listdir(path)是得到在path路径下所以文件的名称列表。

open(path)是打开某个文件。

iter是python的迭代器。

所以读取某文件夹下的所有文件如下:

import ospath = "D:/Python34/news" #文件夹目录files= os.listdir(path) #得到文件夹下的所有文件名称s = []for file in files: #遍历文件夹 if not os.path.isdir(file): #判断是否是文件夹,不是文件夹才打开 f = open(path+"/"+file); #打开文件 iter_f = iter(f); #创建迭代器 str = "" for line in iter_f: #遍历文件,一行行遍历,读取文本 str = str + line s.append(str) #每个文件的文本存到list中print(s) #打印结果

你也可以把遍历文件夹的操作定义成一个函数,如果是文件夹就不断迭代遍历。进而读取文件夹下所有的文件(包括文件夹里中的文件)

Python批量读取文件夹下所有文件

现给定一个文件夹,下面有很多文件(可能是一天一个数据文件等),我们要读取该文件夹下面的所有文件,如:

代码(包括删除空文件,有参考网上代码):

# -*- coding: utf-8 -*-"""Created on Wed Nov 20 23:28:00 2019@author: 1"""import pandas as pdimport os# 删除空文件夹,否则会报错def traverse(filepath): # 遍历filepath下所有文件,包括子目录 files = os.listdir(filepath) for fi in files: fi_d = os.path.join(filepath, fi) if os.path.isdir(fi_d): # 判断是否为文件夹 if not os.listdir(fi_d): # 如果文件夹为空 os.rmdir(fi_d) # 删除这个空文件夹 else: traverse(fi_d) else: file = os.path.join(filepath, fi_d) if os.path.getsize(file) == 0: # 文件大小为0 os.remove(file) # 删除这个文件 def get_file(path): # 创建一个空列表 files = os.listdir(path) files.sort() # 排序 list = [] for file in files: if not os.path.isdir(path + file): # 判断该文件是否是一个文件夹 f_name = str(file) # print(f_name) tr = '\\' # 多增加一个斜杠 filename = path + tr + f_name list.append(filename) return (list)if __name__ == '__main__': path = r'D:\workspace\python\m1\T-drive Taxi Trajectories\release\taxi_log_2008_by_id' traverse(path) list = get_file(path) for i in range(10): # 表示读10个文件 df = pd.read_csv(list[i], sep=',') df.to_csv('taxi2.csv', mode='a', header=None)

总结

到此这篇关于Python如何读取文件夹下所有文件的文章就介绍到这了,更多相关Python读取文件夹内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章