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中的*重复运算符
Oct 28 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
Jan 06 Python
Python中如何使用if语句处理列表实例代码
Feb 24 Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 Python
python实现简单聊天室功能 可以私聊
Jul 12 Python
基于Python实现扑克牌面试题
Dec 11 Python
tensorflow 环境变量设置方式
Feb 06 Python
Python中文分词库jieba,pkusegwg性能准确度比较
Feb 11 Python
Python如何安装第三方模块
May 28 Python
最简单的matplotlib安装教程(小白)
Jul 28 Python
Python3.10的一些新特性原理分析
Sep 15 Python
python+pyhyper实现识别图片中的车牌号思路详解
Dec 24 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
玩家交还《星际争霸》原始码光盘 暴雪报以厚礼
2017/05/05 星际争霸
php编写的简单页面跳转功能实现代码
2013/11/27 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
基于php的微信公众平台开发入门实例
2015/04/15 PHP
PHP实现断点续传乱序合并文件的方法
2018/09/06 PHP
[JS]点出统计器
2020/10/11 Javascript
jQuery 版本的文本输入框检查器Input Check
2009/07/09 Javascript
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
微信小程序 switch组件详解及简单实例
2017/01/10 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
2018/06/05 jQuery
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
浅析Vue下的components模板使用及应用
2019/11/27 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
Python实现matplotlib显示中文的方法详解
2018/02/06 Python
pytorch构建网络模型的4种方法
2018/04/13 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
各大浏览器 CSS3 和 HTML5 兼容速查表 图文
2010/04/01 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
C,C++的几个面试题小集
2013/07/13 面试题
Java面试笔试题大全
2016/11/23 面试题
研究生自荐信
2013/10/09 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
三方股东合作协议书
2014/10/28 职场文书
大学生预备党员自我评价
2015/03/04 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android