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

 更新时间:2018年02月06日 13:55:24   作者:小路孩  
本篇文章主要介绍了Python获取指定文件夹下的文件名的方法,本文采用os.walk()和os.listdir()两种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本文采用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解释器,否则仍将运行第一次执行过的代码。

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

相关文章

  • Django视图和URL配置详解

    Django视图和URL配置详解

    这篇文章主要介绍了Django视图和URL配置详解,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python任意字符串转16, 32, 64进制的方法

    Python任意字符串转16, 32, 64进制的方法

    今天小编就为大家分享一篇Python任意字符串转16, 32, 64进制的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python实现H2O中的随机森林算法介绍及其项目实战

    python实现H2O中的随机森林算法介绍及其项目实战

    这篇文章主要介绍了python实现H2O中的随机森林算法介绍及其项目实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • paramiko使用tail实时获取服务器的日志输出详解

    paramiko使用tail实时获取服务器的日志输出详解

    这篇文章主要给大家介绍了关于paramiko使用tail实时获取服务器的日志输出的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python爬虫之request模块深入讲解

    python爬虫之request模块深入讲解

    requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多,下面这篇文章主要给大家介绍了关于python爬虫之request模块的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • Pycharm debug程序,跳转至指定循环条件/循环次数问题

    Pycharm debug程序,跳转至指定循环条件/循环次数问题

    这篇文章主要介绍了Pycharm debug程序,跳转至指定循环条件/循环次数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 查看端口并杀进程python脚本代码

    查看端口并杀进程python脚本代码

    今天小编就为大家分享一篇查看端口并杀进程python脚本代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python使用IPython调试debug程序

    python使用IPython调试debug程序

    这篇文章主要为大家介绍了python使用IPython调试debug程序详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python+Pygame实战之诗词填空游戏的实现

    Python+Pygame实战之诗词填空游戏的实现

    成语接龙大家都玩过,但诗词填空大家玩过吗?把成语接龙变成填空题。难度可上涨了不止一个档次呢!本文就来用Python和Pygame实现诗词填空游戏,需要的可以参考一下
    2022-12-12
  • Python实现获取弹幕的两种方式分享

    Python实现获取弹幕的两种方式分享

    弹幕可以给观众一种“实时互动”的错觉,在相同时刻发送的弹幕基本上也具有相同的主题,在参与评论时就会有与其他观众同时评论的错觉。本文为大家总结了两个Python获取弹幕的方法,希望对大家有所帮助
    2023-03-03

最新评论