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


Posted in Python onApril 02, 2021

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

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

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

     iter是python的迭代器。    

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

import os
path = "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批量读取文件夹下所有文件

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

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

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

# -*- coding: utf-8 -*-
"""
Created on Wed Nov 20 23:28:00 2019

@author: 1
"""

import pandas as pd
import 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读取文件夹内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python的几种开发工具介绍
Mar 07 Python
用Python实现命令行闹钟脚本实例
Sep 05 Python
在pandas中一次性删除dataframe的多个列方法
Apr 10 Python
python 执行shell命令并将结果保存的实例
May 11 Python
python实现最长公共子序列
May 22 Python
详解从Django Rest Framework响应中删除空字段
Jan 11 Python
Python实现个人微信号自动监控告警的示例
Jul 03 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
Aug 10 Python
python创建与遍历List二维列表的方法
Aug 16 Python
Python 70行代码实现简单算式计算器解析
Aug 30 Python
python实现KNN分类算法
Oct 16 Python
python 使用事件对象asyncio.Event来同步协程的操作
May 04 Python
如何用python识别滑块验证码中的缺口
python 实现定时任务的四种方式
Apr 01 #Python
python读取pdf格式文档的实现代码
Python中使用Lambda函数的5种用法
Apr 01 #Python
python 实现mysql自动增删分区的方法
Apr 01 #Python
pygame面向对象的飞行小鸟实现(Flappy bird)
如何用python插入独创性声明
You might like
php下图片文字混合水印与缩略图实现代码
2009/12/11 PHP
php中mysql模块部分功能的简单封装
2011/09/30 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
PHP时间类完整代码实例
2021/02/26 PHP
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
详解Angular调试技巧之报错404(not found)
2018/01/31 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
Python单体模式的几种常见实现方法详解
2017/07/28 Python
分析python动态规划的递归、非递归实现
2018/03/04 Python
基于Pandas读取csv文件Error的总结
2018/06/15 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
详解Python3 pickle模块用法
2019/09/16 Python
python正则表达式匹配IP代码实例
2019/12/28 Python
Python openpyxl模块原理及用法解析
2020/01/19 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
pycharm导入源码的具体步骤
2020/08/04 Python
Delphi笔试题
2016/11/14 面试题
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
大学毕业生求职自荐书
2014/06/05 职场文书
奥运会口号
2014/06/13 职场文书
中国梦口号
2014/06/13 职场文书
施工安全员岗位职责
2015/04/11 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
你会写报告?产品体验报告到底该怎么写?
2019/08/14 职场文书
python 调用js的四种方式
2021/04/11 Python
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android