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正则分组的应用
Nov 10 Python
Python函数中定义参数的四种方式
Nov 30 Python
python实现在每个独立进程中运行一个函数的方法
Apr 23 Python
Python自定义简单图轴简单实例
Jan 08 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
Python中偏函数用法示例
Jun 07 Python
django之跨表查询及添加记录的示例代码
Oct 16 Python
python 三元运算符使用解析
Sep 16 Python
python logging通过json文件配置的步骤
Apr 27 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 Python
Python正则表达式高级使用方法汇总
Jun 18 Python
PyChon中关于Jekins的详细安装(推荐)
Dec 28 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代码重构工具推荐
2014/10/14 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
简介PHP的Yii框架中缓存的一些高级用法
2016/03/29 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
调试php程序的简单步骤
2019/10/04 PHP
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
json的定义、标准格式及json字符串检验
2014/05/11 Javascript
jQuery的观察者模式详解
2014/12/22 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
2016/05/18 Javascript
老生常谈JavaScript 正则表达式语法
2016/08/20 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
详解最新vue-cli 2.9.1的webpack存在问题
2017/12/16 Javascript
如何在vue里添加好看的lottie动画
2018/08/02 Javascript
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
详解python进行mp3格式判断
2016/12/23 Python
python使用__slots__让你的代码更加节省内存
2018/09/05 Python
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
基于Python采集爬取微信公众号历史数据
2020/11/27 Python
应届生体育教师自荐信
2013/10/03 职场文书
办公室经理岗位职责
2014/01/01 职场文书
入党积极分子思想汇报范文
2014/01/05 职场文书
公司同意接收函
2014/01/13 职场文书
物业公司的岗位任命书
2014/06/06 职场文书
经典毕业生求职信
2014/07/12 职场文书
实习生矿工检讨书
2014/10/13 职场文书
JS Canvas接口和动画效果大全
2021/04/29 Javascript
Python中使用ipython的详细教程
2021/06/22 Python