Python获取指定文件夹下的文件名的方法


Posted in Python onFebruary 06, 2018

本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名。

一、os.walk()

模块os中的walk()函数可以遍历文件夹下所有的文件。

os.walk(top, topdown=Ture, onerror=None, followlinks=False)

该函数可以得到一个三元tupple(dirpath, dirnames, filenames).

参数含义:

  1. dirpath:string,代表目录的路径;
  2. dirnames:list,包含了当前dirpath路径下所有的子目录名字(不包含目录路径);
  3. filenames:list,包含了当前dirpath路径下所有的非目录子文件的名字(不包含目录路径)。

注意,dirnames和filenames均不包含路径信息,如需完整路径,可使用os.path.join(dirpath, dirnames)

下面给出代码;

# -*- coding: utf-8 -*-  
import os 
def file_name(file_dir):  
  for root, dirs, files in os.walk(file_dir): 
    print(root) #当前目录路径 
    print(dirs) #当前路径下所有子目录 
    print(files) #当前路径下所有非目录子文件

当需要特定类型的文件时,代码如下:

# -*- coding: utf-8 -*-   
import os 
 
def file_name(file_dir):  
  L=[]  
  for root, dirs, files in os.walk(file_dir): 
    for file in files: 
      if os.path.splitext(file)[1] == '.jpeg': 
        L.append(os.path.join(root, file)) 
  return L

其中os.path.splitext()函数将路径拆分为文件名+扩展名,例如os.path.splitext(“E:/lena.jpg”)将得到”E:/lena“+".jpg"。

二、os.listdir()

os.listdir()函数得到的是仅当前路径下的文件名,不包括子目录中的文件,所有需要使用递归的方法得到全部文件名。

直接给出代码,函数将返回类型为‘.jpeg'个文件名:

# -*- coding: utf-8 -*- 
import os 
 
def listdir(path, list_name): 
  for file in os.listdir(path): 
    file_path = os.path.join(path, file) 
    if os.path.isdir(file_path): 
      listdir(file_path, list_name) 
    elif os.path.splitext(file_path)[1]=='.jpeg': 
      list_name.append(file_path)

初学python,犯了些低级错误,浪费了很多时间,首先一定要确保代码的四空格缩进,注意直接回车下一行并不是四空格缩进;还有一点是在命令提示符窗口(Windows)使用python解释器第一次运行代码后,修改源代码,如若再次运行需要退出重新进入python解释器,否则仍将运行第一次执行过的代码。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中使用OpenCV进行人脸检测的例子
Apr 18 Python
Python正则表达式的使用范例详解
Aug 08 Python
python爬虫入门教程之糗百图片爬虫代码分享
Sep 02 Python
Python实现股市信息下载的方法
Jun 15 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
Jun 15 Python
python merge、concat合并数据集的实例讲解
Apr 12 Python
Python OS模块实例详解
Apr 15 Python
解决python flask中config配置管理的问题
Jul 26 Python
python每天定时运行某程序代码
Aug 16 Python
Python通过Tesseract库实现文字识别
Mar 05 Python
python中get和post有什么区别
Jun 19 Python
Pycharm如何自动生成头文件注释
Nov 14 Python
TensorFlow如何实现反向传播
Feb 06 #Python
tensorflow TFRecords文件的生成和读取的方法
Feb 06 #Python
TensorFlow实现创建分类器
Feb 06 #Python
Python模拟随机游走图形效果示例
Feb 06 #Python
Python 12306抢火车票脚本 Python京东抢手机脚本
Feb 06 #Python
TensorFlow高效读取数据的方法示例
Feb 06 #Python
django使用xlwt导出excel文件实例代码
Feb 06 #Python
You might like
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
2013/01/16 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
jquery动态添加option示例
2013/12/30 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
2016/10/05 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
JavaScript多线程运行库Nexus.js详解
2017/12/22 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
vue实现简单的MVVM框架
2018/08/05 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
json数据格式常见操作示例
2019/06/13 Javascript
解决layer弹出层中表单不起作用的问题
2019/09/09 Javascript
Vue-router 报错NavigationDuplicated的解决方法
2020/03/31 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
python thread 并发且顺序运行示例
2009/04/09 Python
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
Python语言实现机器学习的K-近邻算法
2015/06/11 Python
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
jupyter notebook 的工作空间设置操作
2020/04/20 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
自我评价范文
2013/12/22 职场文书
农业项目建议书
2014/08/25 职场文书
论群众路线学习心得体会
2014/10/31 职场文书
讲座通知范文
2015/04/23 职场文书
Python用tkinter实现自定义记事本的方法详解
2022/03/31 Python