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 22 Python
Python获取Windows或Linux主机名称通用函数分享
Nov 22 Python
numpy实现合并多维矩阵、list的扩展方法
May 08 Python
Python异常处理操作实例详解
May 10 Python
Python socket实现多对多全双工通信的方法
Feb 13 Python
Python类的继承、多态及获取对象信息操作详解
Feb 28 Python
python+os根据文件名自动生成文本
Mar 21 Python
python实现简单银行管理系统
Oct 25 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
pycharm2020.2 配置使用的方法详解
Sep 16 Python
python函数指定默认值的实例讲解
Mar 29 Python
Python 中的Sympy详细使用
Aug 07 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求两个文件的相对路径
2013/06/20 PHP
php实现处理输入转义字符的代码
2015/11/08 PHP
php实现的二叉树遍历算法示例
2017/06/15 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
JS 的应用开发初探(mootools)
2009/12/19 Javascript
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
JS控制弹出新页面窗口位置和大小的方法
2015/03/02 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
详解Js中的模块化是如何实现的
2017/10/18 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
JS实现横向轮播图(初级版)
2020/06/24 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
2020/02/28 Javascript
Python实现的异步代理爬虫及代理池
2017/03/17 Python
Python实现计算两个时间之间相差天数的方法
2017/05/10 Python
Pycharm远程调试openstack的方法
2017/11/21 Python
python多进程重复加载的解决方式
2019/12/13 Python
Python面向对象程序设计之继承、多态原理与用法详解
2020/03/23 Python
python如何随机生成高强度密码
2020/08/19 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
2015/11/10 面试题
大学英语专业求职信
2014/06/21 职场文书
科技活动周标语
2014/10/08 职场文书
2014年护士工作总结范文
2014/11/11 职场文书
2014年少先队工作总结
2014/12/03 职场文书
2016公司新年问候语
2015/11/11 职场文书
电力企业职工培训心得体会
2016/01/11 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书
SpringBoot 集成Redis 过程
2021/06/02 Redis
Python移位密码、仿射变换解密实例代码
2021/06/27 Python