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写个下载teahour音频的小脚本
May 08 Python
深入理解Python3 内置函数大全
Nov 23 Python
python 限制函数调用次数的实例讲解
Apr 21 Python
Win下PyInstaller 安装和使用教程
Dec 25 Python
django列表筛选功能的实现代码
Mar 27 Python
Python sql注入 过滤字符串的非法字符实例
Apr 03 Python
Python 如何测试文件是否存在
Jul 31 Python
Python 如何定义匿名或内联函数
Aug 01 Python
python 实现全球IP归属地查询工具
Dec 18 Python
Django解决frame拒绝问题的方法
Dec 18 Python
python 利用panda 实现列联表(交叉表)
Feb 06 Python
anaconda python3.8安装后降级
Jun 11 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
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
2011/04/18 PHP
解析PHP中$_FILES的使用以及注意事项
2013/07/05 PHP
Yii框架中memcache用法实例
2014/12/03 PHP
php-redis中的sort排序函数总结
2015/07/08 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
PHP中的use关键字及文件的加载详解
2016/11/28 PHP
PHP读取、解析eml文件及生成网页的方法示例
2017/09/04 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
js快速排序的实现代码
2013/12/08 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
Python lambda函数基本用法实例分析
2018/03/16 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
加热夹克:RAVEAN
2018/10/19 全球购物
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
KOHLER科勒美国官网:国际著名卫浴橱柜领先品牌
2020/06/27 全球购物
Java面向对象面试题
2016/12/26 面试题
会计毕业生自荐信
2013/11/21 职场文书
优秀的毕业生的自我评价
2013/12/12 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
产品销售计划书
2014/05/04 职场文书
2014年外联部工作总结
2014/11/17 职场文书
交通事故被告代理词
2015/05/23 职场文书
2015年十月一日放假通知
2015/08/18 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
python爬虫之爬取笔趣阁小说
2021/04/22 Python
详解JS数组方法
2021/11/20 Javascript
Golang解析JSON对象
2022/04/30 Golang