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类参数self使用示例
Feb 17 Python
TensorFlow模型保存和提取的方法
Mar 08 Python
Python动态导入模块的方法实例分析
Jun 28 Python
Django框架实现的简单分页功能示例
Dec 04 Python
python基于gevent实现并发下载器代码实例
Nov 01 Python
Python API len函数操作过程解析
Mar 05 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
Mar 16 Python
如何提高python 中for循环的效率
Apr 15 Python
Selenium元素定位的30种方式(史上最全)
May 11 Python
基于python 取余问题(%)详解
Jun 03 Python
学生如何注册Pycharm专业版以及pycharm的安装
Sep 24 Python
彻底解决Python包下载慢问题
Nov 15 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中使用接口实现工厂设计模式的代码
2012/06/17 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
简单实例处理url特殊符号&处理(2种方法)
2013/04/02 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
angular json对象push到数组中的方法
2018/02/27 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
在vue项目中引入高德地图及其UI组件的方法
2018/09/04 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
新手快速入门微信小程序组件库 iView Weapp
2019/06/24 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
webpack+express实现文件精确缓存的示例代码
2020/06/11 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
JS中箭头函数与this的写法和理解
2021/01/14 Javascript
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
Python解决鸡兔同笼问题的方法
2014/12/20 Python
深入理解python中的浅拷贝和深拷贝
2016/05/30 Python
Python3使用turtle绘制超立方体图形示例
2018/06/19 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
Python全局锁中如何合理运用多线程(多进程)
2019/11/06 Python
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
客户经理岗位职责
2013/12/08 职场文书
企业演讲稿范文
2013/12/28 职场文书
毕业生如何写自我鉴定
2014/03/15 职场文书
KTV门卫岗位职责
2014/10/09 职场文书
节水倡议书
2015/01/19 职场文书
golang中字符串MD5生成方式总结
2021/07/04 Golang