Python获取指定文件夹下的文件名
本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名。
一、os.walk()
模块os中的walk()函数可以遍历文件夹下所有的文件。
- 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)
下面给出代码;
- # -*- 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 获取当前文件夹下所有文件名
os 模块下有两个函数: os.walk() os.listdir() 1 # -*- coding: utf-8 -*- 2 3 import os 4 5 def file_name(file_d ...
- python获取当前文件夹下所有文件名【转】
os 模块下有两个函数: os.walk() os.listdir() 1 # -*- coding: utf-8 -*- 2 3 import os 4 5 def file_name(file_d ...
- python获取指定文件夹下的文件路径
#!/usr/bin/python# -*- coding: UTF-8 -*-# @date: 2018/1/6 23:08# @name: tmp2# @author:vickey-wu impo ...
- python获取指定文件夹下的文件和文件夹
import os filepaths = []; dirpaths = []; pathName = r'C:\anfei\json\20191128' for root, dirs, files ...
- Matlab获取一个文件夹下所有文件名
Matlab获取一个文件夹下所有文件名: fileFolder=fullfile('D:\MATLAB\bin\trc'); dirOutput=dir(fullfile(fileFolder,'*. ...
- Python扫描指定文件夹下(包含子文件夹)的文件
扫描指定文件夹下的文件.或者匹配指定后缀和前缀的函数. 假设要扫描指定文件夹下的文件,包含子文件夹,调用scan_files("/export/home/test/") 假设要扫描 ...
- winform中获取指定文件夹下的所有图片
方法一: C#的IO自带了一个方法DirectoryInfo dir = new DirectoryInfo("文件夹名称");dir.getFiles();//这个方法返回值就是 ...
- Python——合并指定文件夹下的所有excel文件
前提:该文件夹下所有文件有表头且具有相同的表头. import glob # 同下 from numpy import * #请提前在CMD下安装完毕,pip install numppy impor ...
- Windows 下通过DOS命令获取指定文件夹下所有文件的全路径
1.在你要获取路径的文件夹下 新建文本文档 (.txt) 文件, 2.输入以下内容保存 DIR *.* /S/B >LIST.TXT /s 表示递归 3. 将文件后缀改成 .bat 4.双击运行 ...
随机推荐
- Hadoop基础-序列化与反序列化(实现Writable接口)
Hadoop基础-序列化与反序列化(实现Writable接口) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.序列化简介 1>.什么是序列化 序列化也称串行化,是将结构化 ...
- List(JDK1.7)(1)
java.util包. 与Set不同, List允许重复的元素.即 e1.equals(e2). 部分方法定义 int size(); 返回列表中元素的个数,如果超过Integer.MAX_VALUE ...
- 精心整理的十个必须要知道CSS+DIV技巧
1.css font的简写规则 当我们写字体样式的时候,我们也许会这样子写 font-size: 1em; line-height: 1.5em; font-weight: bold; font-s ...
- 【BearChild】
\(≧▽≦)/ BearChild is salty. If you want to save him,please call QQ:423339833 to talk♂with him. Have ...
- Anaconda+django写出第一个web app(三)
前面我们已经建立了模型Tutorial,也已经可以用Navicat Premium打开数据看查看数据,接下来我们通过建立admin账户来上传数据. 在命令行执行如下命令来创建用户: python ma ...
- Django框架下的小人物--Cookie
1. 什么是Cookie,它的用途是什么? Cookies是一些存储在用户电脑上的小文件.它是被设计用来保存一些站点的用户数据,这样能够让服务器为这样的用户定制内容,后者页面代码能够获取到Cookie ...
- webSQL 增删改查
webSQL 增删改查 转载于:https://www.cnblogs.com/liuhao-web/p/7866032.html /** *数据库操作辅助类,定义对象.数据操作方法都在这里定义 * ...
- [转]CNN目标检测(一):Faster RCNN详解
https://blog.csdn.net/a8039974/article/details/77592389 Faster RCNN github : https://github.com/rbgi ...
- 2016.6.26——Maximum Depth of Binary Tree
Maximum Depth of Binary Tree 本题收获 1.树时使用递归 2.注意边界条件时输出的值,仔细阅读题意,若是面试时,问清边界条件. 题目: Given a binary tre ...
- Python Challenge 第 4 关攻略:linkedlist
代码 import requests url = "http://www.pythonchallenge.com/pc/def/linkedlist.php?nothing={}" ...