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 13 Python
Python2.x与Python3.x的区别
Jan 14 Python
使用python实现个性化词云的方法
Jun 16 Python
python3 发送任意文件邮件的实例
Jan 23 Python
Python实现识别手写数字 Python图片读入与处理
Mar 23 Python
Python代码块批量添加Tab缩进的方法
Jun 25 Python
python利用百度AI实现文字识别功能
Nov 27 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
May 31 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
Aug 13 Python
基于python实现百度语音识别和图灵对话
Nov 02 Python
Django中template for如何使用方法
Jan 31 Python
python使用pycharm安装pyqt5以及相关配置
Apr 22 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程序中防止盗链
2008/04/09 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
JavaScript DOM 学习第七章 表单的扩展
2010/02/19 Javascript
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
js获取键盘按键响应事件(兼容各浏览器)
2013/05/16 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
解决vue动态为数据添加新属性遇到的问题
2018/09/18 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
webpack常用配置总览(小结)
2019/11/18 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
从零学Python之入门(五)缩进和选择
2014/05/27 Python
Python创建xml的方法
2015/03/10 Python
python中循环语句while用法实例
2015/05/16 Python
初探TensorFLow从文件读取图片的四种方式
2018/02/06 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
HTML5探秘:用requestAnimationFrame优化Web动画
2018/06/03 HTML / CSS
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
少先队学雷锋活动总结范文
2014/03/09 职场文书
初中三好学生自我鉴定
2014/04/07 职场文书
婚礼答谢词
2015/01/04 职场文书
党支部审查意见
2015/06/02 职场文书
简单聊聊Golang中defer预计算参数
2022/03/25 Golang