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中绑定与未绑定的类方法用法分析
Apr 29 Python
python3爬虫之设计签名小程序
Jun 19 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 Python
python集合比较(交集,并集,差集)方法详解
Sep 13 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
Jan 29 Python
Python 类的私有属性和私有方法实例分析
Sep 29 Python
PyQt5多线程刷新界面防假死示例
Dec 13 Python
django数据模型on_delete, db_constraint的使用详解
Dec 24 Python
Jupyter Notebook打开任意文件夹操作
Apr 14 Python
Python自动创建Excel并获取内容
Sep 16 Python
Pytest之测试命名规则的使用
Apr 16 Python
python 如何做一个识别率百分百的OCR
May 29 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
apache rewrite_module模块使用教程
2008/01/10 PHP
学习php笔记 字符串处理
2010/10/19 PHP
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
Zend Framework入门教程之Zend_Config组件用法详解
2016/12/09 PHP
Javascript----文件操作
2007/01/18 Javascript
记录几个javascript有关的小细节
2007/04/02 Javascript
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
加载 Javascript 最佳实践
2011/10/30 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
2014/04/17 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
2016/05/23 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
详解js的异步编程技术的方法
2017/02/09 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
react开发中如何使用require.ensure加载es6风格的组件
2017/05/09 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
2018/12/29 jQuery
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
Python复制目录结构脚本代码分享
2015/03/06 Python
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
简介Django中内置的一些中间件
2015/07/24 Python
python使用suds调用webservice接口的方法
2019/01/03 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
2020/02/20 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
python工具——Mimesis的简单使用教程
2021/01/16 Python
Python将QQ聊天记录生成词云的示例代码
2021/02/10 Python
影视后期实训报告
2014/11/05 职场文书
2014年电厂工作总结
2014/12/04 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
创业计划书之干洗店
2019/09/10 职场文书
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android