本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名。

一、os.walk()

模块os中的walk()函数可以遍历文件夹下所有的文件。

  1. os.walk(top, topdown=Ture, onerror=None, followlinks=False)

该函数可以得到一个三元tupple(dirpath, dirnames, filenames).

参数含义:

  • dirpath:string,代表目录的路径;
  • dirnames:list,包含了当前dirpath路径下所有的子目录名字(不包含目录路径);
  • filenames:list,包含了当前dirpath路径下所有的非目录子文件的名字(不包含目录路径)。

注意,dirnames和filenames均不包含路径信息,如需完整路径,可使用os.path.join(dirpath, dirnames)

下面给出代码;

  1. # -*- coding: utf-8 -*-
  2. import os
  3. def file_name(file_dir):
  4. for root, dirs, files in os.walk(file_dir):
  5. print(root) #当前目录路径
  6. print(dirs) #当前路径下所有子目录
  7. print(files) #当前路径下所有非目录子文件

当需要特定类型的文件时,代码如下:

  1. # -*- coding: utf-8 -*-
  2. import os
  3. def file_name(file_dir):
  4. L=[]
  5. for root, dirs, files in os.walk(file_dir):
  6. for file in files:
  7. if os.path.splitext(file)[1] == '.jpeg':
  8. L.append(os.path.join(root, file))
  9. return L

其中os.path.splitext()函数将路径拆分为文件名+扩展名,例如os.path.splitext(“E:/lena.jpg”)将得到”E:/lena“+".jpg"。

二、os.listdir()

os.listdir()函数得到的是仅当前路径下的文件名,不包括子目录中的文件,所有需要使用递归的方法得到全部文件名。

直接给出代码,函数将返回类型为‘.jpeg’个文件名:

  1. # -*- coding: utf-8 -*-
  2. import os
  3. def listdir(path, list_name):
  4. for file in os.listdir(path):
  5. file_path = os.path.join(path, file)
  6. if os.path.isdir(file_path):
  7. listdir(file_path, list_name)
  8. elif os.path.splitext(file_path)[1]=='.jpeg':
  9. list_name.append(file_path)

初学python,犯了些低级错误,浪费了很多时间,首先一定要确保代码的四空格缩进,注意直接回车下一行并不是四空格缩进;还有一点是在命令提示符窗口(Windows)使用python解释器第一次运行代码后,修改源代码,如若再次运行需要退出重新进入python解释器,否则仍将运行第一次执行过的代码。

Python获取指定文件夹下的文件名的更多相关文章

  1. python 获取当前文件夹下所有文件名

    os 模块下有两个函数: os.walk() os.listdir() 1 # -*- coding: utf-8 -*- 2 3 import os 4 5 def file_name(file_d ...

  2. python获取当前文件夹下所有文件名【转】

    os 模块下有两个函数: os.walk() os.listdir() 1 # -*- coding: utf-8 -*- 2 3 import os 4 5 def file_name(file_d ...

  3. python获取指定文件夹下的文件路径

    #!/usr/bin/python# -*- coding: UTF-8 -*-# @date: 2018/1/6 23:08# @name: tmp2# @author:vickey-wu impo ...

  4. python获取指定文件夹下的文件和文件夹

    import os filepaths = []; dirpaths = []; pathName = r'C:\anfei\json\20191128' for root, dirs, files ...

  5. Matlab获取一个文件夹下所有文件名

    Matlab获取一个文件夹下所有文件名: fileFolder=fullfile('D:\MATLAB\bin\trc'); dirOutput=dir(fullfile(fileFolder,'*. ...

  6. Python扫描指定文件夹下(包含子文件夹)的文件

    扫描指定文件夹下的文件.或者匹配指定后缀和前缀的函数. 假设要扫描指定文件夹下的文件,包含子文件夹,调用scan_files("/export/home/test/") 假设要扫描 ...

  7. winform中获取指定文件夹下的所有图片

    方法一: C#的IO自带了一个方法DirectoryInfo dir = new DirectoryInfo("文件夹名称");dir.getFiles();//这个方法返回值就是 ...

  8. Python——合并指定文件夹下的所有excel文件

    前提:该文件夹下所有文件有表头且具有相同的表头. import glob # 同下 from numpy import * #请提前在CMD下安装完毕,pip install numppy impor ...

  9. Windows 下通过DOS命令获取指定文件夹下所有文件的全路径

    1.在你要获取路径的文件夹下 新建文本文档 (.txt) 文件, 2.输入以下内容保存 DIR *.* /S/B >LIST.TXT /s 表示递归 3. 将文件后缀改成 .bat 4.双击运行 ...

随机推荐

  1. opencv 应用程序无法正常启动(0xooooo7b)

    #include<iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui ...

  2. HDU 6071 同余最短路 spfa

    Lazy Running Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)To ...

  3. ssh 执行命令并实时显示结果

    ssh 执行命令并实时显示结果 import paramiko def main(): sshClient = paramiko.SSHClient() sshClient.set_missing_h ...

  4. Docker Swarm高可用性

    一.前言 在Docker Swarm集群中,Swarm manager负责管理整个集群,如果管理节点manager出现故障,虽然不会影响现有的服务和工作节点,但是我们不能继续管理我们的docker s ...

  5. Python【关联接口的开发】

    import flask,time,json,hashlib,redis print("==============被调函数部分================")def my_m ...

  6. GO_02:GO语言开篇

    Go的发展史 Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后 ...

  7. 3.Filter和interceptor的区别

    https://blog.csdn.net/qq_36411874/article/details/53996873

  8. Git之原有基础开发新功能

    场景描述 当一个项目已经上线,同时又在原有基础上新增功能模块,于是乎就要在原有代码的基础上进行开发,在新增模块功能的开发的过程中,项目发现了一个紧急Bug,需要修复.操作流程如下:

  9. 解除单个文件的与svn服务器的关联

    有些文件和个人开发环境有关不需要和svn服务器做同步,可以取消其和svn服务的关联. 右键选中要取消关联的文件,右键菜单 Tortoise SVN  --->   unversion and a ...

  10. python学习笔记2-dict

    常用的dict操作: d={'name':'suki', ', 'sex':'man', 'addr':'nanjing' } #字典取值方便,但是字典是没有顺序的,List有下标 print(d[' ...