python读取文件名称生成list的方法


Posted in Python onApril 27, 2018

经常需要读取某个文件夹下所有的图像文件。

我使用python写了个简单的代码,读取某个文件夹下某个后缀的文件,将文件名生成为文本(csv格式)

import fnmatch
import os
import pandas as pd
import numpy as np 
import sys

InputStra = sys.argv[1]
InputStrb = sys.argv[2]

def ReadSaveAddr(Stra,Strb):
 #print(Stra)
 #print(Strb)
 print("Read :",Stra,Strb)
 a_list = fnmatch.filter(os.listdir(Stra),Strb)
 print("Find = ",len(a_list))
 df = pd.DataFrame(np.arange(len(a_list)).reshape((len(a_list),1)),columns=['Addr']) 
 df.Addr = a_list
 #print(df.head())
 df.to_csv('Get.lst',columns=['Addr'],index=False,header=False)
 print("Write To Get.lst !")

ReadSaveAddr(InputStra,InputStrb)

上面代码保存为:GetLst.py

使用时:

在cmd窗口输入:

python GetLst.py F:/train/pos *.png

发现上面代码不能深入到下一层目录,又做了点修改:

def ReadSaveAddr2(Stra,Strb):
 df = pd.DataFrame(np.arange(0).reshape(0,1),columns=['Addr']) 
 print(df)
 path = InputStra
 for dirpath,dirnames,filenames in os.walk(path):
  #for filename in filenames:
  a_list = fnmatch.filter(os.listdir(dirpath),Strb)
  if len(a_list):
   dft = pd.DataFrame(np.arange(len(a_list)).reshape((len(a_list),1)),columns=['Addr']) 
   dft.Addr = a_list
   dft.Addr = dirpath + '\\' + dft.Addr#输出绝对路径
   frames = [df,dft]
   df = pd.concat(frames)
   print(df.shape)
 df.to_csv('Get.lst',columns='Addr'],index=False,header=False)
 print("Write To Get.lst !")

以上这篇python读取文件名称生成list的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现复制整个目录的方法
May 12 Python
python实现矩阵乘法的方法
Jun 28 Python
python中协程实现TCP连接的实例分析
Oct 14 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
May 21 Python
Python 脚本拉取 Docker 镜像问题
Nov 10 Python
python已协程方式处理任务实现过程
Dec 27 Python
在pytorch中实现只让指定变量向后传播梯度
Feb 29 Python
零基础小白多久能学会python
Jun 22 Python
python创建文本文件的简单方法
Aug 30 Python
详解Python中第三方库Faker
Sep 25 Python
python爬虫爬取某网站视频的示例代码
Feb 20 Python
Python实现滑雪小游戏
Sep 25 Python
python实现图书馆研习室自动预约功能
Apr 27 #Python
Python实现去除列表中重复元素的方法小结【4种方法】
Apr 27 #Python
详解python多线程、锁、event事件机制的简单使用
Apr 27 #Python
Python Requests模拟登录实现图书馆座位自动预约
Apr 27 #Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
Apr 27 #Python
python队列queue模块详解
Apr 27 #Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
Apr 27 #Python
You might like
php checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
javascript下string.format函数补充
2010/08/24 Javascript
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
js解析与序列化json数据(一)json.stringify()的基本用法
2013/02/01 Javascript
如何在一个页面显示多个百度地图
2013/04/07 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
2014/08/18 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
2016/06/16 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
vue解决一个方法同时发送多个请求的问题
2018/09/25 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
原生js实现随机点名
2020/07/05 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python3访问并下载网页内容的方法
2015/07/28 Python
python下实现二叉堆以及堆排序的示例
2017/09/29 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
python如何删除文件中重复的字段
2019/07/16 Python
python批量将excel内容进行翻译写入功能
2019/10/10 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
模具专业毕业生自荐书范文
2014/02/19 职场文书
承诺书格式范文
2014/06/03 职场文书
倡议书作文
2015/01/19 职场文书
邀请函范文
2015/02/02 职场文书
焦点访谈观后感
2015/06/11 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP
php去除数组中为0的元素的实例分析
2021/11/17 PHP
OpenStack虚拟机快照和增量备份实现方法
2022/04/04 Servers