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基础教程项目二之画幅好画
Apr 02 Python
对python中raw_input()和input()的用法详解
Apr 22 Python
对dataframe进行列相加,行相加的实例
Jun 08 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
Aug 07 Python
python实现从pdf文件中提取文本,并自动翻译的方法
Nov 28 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
Dec 04 Python
python selenium循环登陆网站的实现
Nov 04 Python
Pyspark读取parquet数据过程解析
Mar 27 Python
Python数组拼接np.concatenate实现过程
Apr 18 Python
pycharm2020.2 配置使用的方法详解
Sep 16 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
Nov 24 Python
Python中三种花式打印的示例详解
Mar 19 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 park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
PHP基础陷阱题(变量赋值)
2012/09/12 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
PHP设计模式之模板方法模式实例浅析
2018/12/20 PHP
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
JQuery学习笔录 简单的JQuery
2012/04/09 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
详解vue.js组件化开发实践
2016/12/14 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
2017/08/30 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
vue自定义一个v-model的实现代码
2018/06/21 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
NodeJS使用Range请求实现下载功能的方法示例
2018/10/12 NodeJs
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
python原始套接字编程示例分享
2014/02/21 Python
windows 下python+numpy安装实用教程
2017/12/23 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
电气自动化大学生求职信
2013/10/16 职场文书
大学生个人简历中的自我评价
2013/12/27 职场文书
拓展策划方案
2014/06/03 职场文书
2016元旦文艺汇演主持词
2015/07/06 职场文书
活动宣传稿范文
2015/07/23 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
MySQL读取JSON转换的方式
2022/03/18 MySQL
ant design charts 获取后端接口数据展示
2022/05/25 Javascript