python中os.listdir( )函数读取文件夹
编写pytohn脚本时通常需要批处理。
列出指定目录下的所有文件/文件夹
os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表,但有个很明显的缺点,它的默认顺序不是有序的或者说不是通常的顺序(不知道用啥排的)。
由于返回值是list类型,所以可以使用sort()
import os path = "./Pictures/images/"
files = os.listdir(path)
for filename in files:
print(filename)
结果(可见此时并非有序):

现进行排序,sort是根据字典序排,为了更加准确,应将字符串转换为数字排序。
import os path = "./Pictures/images/"
files = os.listdir(path) #files.sort()
files.sort(key = lambda x:int(x[:-4])) for filename in files:
print(filename)
处理文件名
1、去除前导零
import os path = "./Pictures/images/"
files = os.listdir(path) #files.sort()
files.sort(key = lambda x:int(x[:-4])) for filename in files:
filename = str(int(filename[:-4])) + ".jpg"
print(filename)

2、列出包含指定字符串的文件
import os path = "./Pictures/images/"
files = os.listdir(path) files.sort(key = lambda x:int(x[:-4])) for filename in files:
if "" in filename:
print(filename)

3、列出以指定字符串开头或结尾的文件
import os path = "./Pictures/images/"
files = os.listdir(path) files.sort(key = lambda x:int(x[:-4])) print("start with \"001\"")
for filename in files:
if filename.startswith(""):
print(filename) print("end with \"2.jpg\"")
for filename in files:
if filename.endswith("2.jpg"):
print(filename)

完整的程序:
将images中的文件经均值模糊后保存到images_blur,对应的文件名不变。
import os
import cv2
import numpy as np def solve():
input_dir = "./Pictures/images/" # 保存截取的图像目录
output_dir = "./Pictures/images_blur" # 读取图片目录表
image_list=os.listdir(input_dir) #获得文件名
image_list.sort()
index = 1
for file in image_list:
print('正在处理图像: %s' % index)
img_path = input_dir + file
print(img_path)
img = cv2.imread(img_path) img = cv2.blur(img, (3,3)) cv2.imwrite(output_dir + '/' + file,img)
print(output_dir + '/' + file) index += 1 if __name__ == '__main__':
solve()
参考链接:
1、Python中os.listdir的排序问题 https://www.cnblogs.com/jins-note/p/9550388.html
2、python版的文件批量读写和保存等 https://blog.csdn.net/sinat_36458870/article/details/78825571
python中os.listdir( )函数读取文件夹的更多相关文章
- Python使用os.listdir()函数来获得目录中的内容
摘自:http://it.100xuexi.com/view/otdetail/20130423/057606dc-7ad1-47e4-8ea6-0cf75f514837.html 1.在Pyth ...
- Python使用os.listdir()函数来得目录内容的介绍
Python编程语言是计算机语言中常用的语言,以下的文章就是介绍在Python编程语言中使用os.listdir()函数来获得目录中的相关内容的介绍,如果你对其相关的实际操作有兴趣的话,你就可以观看以 ...
- Python中根据时间自动创建文件夹
导语 电脑桌面文件太多查找起来比较花费时间,并且凌乱的电脑桌面也会影响工作心情,于是利用python根据时间自动建立当日文件夹,这样就可以把桌面上文件按时间进行存放. 代码实现 # _*_codi ...
- python中os模块函数方法详解最全最新
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 import os print(os.getcwd()) os.chdir("dirname") 改 ...
- Python中os.listdir的排序问题
上周应别人要求,使用python批量修改文件名称.文件名有规律,当时就用了一个函数直接精确的用文件名替换了.后来想直接可以用listdir来遍历每个文件来修改更加通用一些.但是看了os.listdir ...
- 在系统中使用read函数读取文件内容
read函数(读取文件) read函数可以读取文件.读取文件指从某一个已打开地文件中,读取一定数量地字符,然后将这些读取的字符放入某一个预存的缓冲区内,供以后使用. 使用格式如下: number = ...
- python中os模块的一些小总结
(一)os模块的应用小总结 os.name: 获取当前系统平台,Windows下返回'nt',Linux下返回'posix'. os.linesep: 获取当前平台使用的行终止符.Windows下 ...
- python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件
python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...
- Python按顺序读取文件夹中文件
参考资料: https://blog.csdn.net/qq_22227123/article/details/79903116 https://blog.csdn.net/merdy_xi/arti ...
随机推荐
- Working Experience - WPF 中 DataGrid 控件的应用
问题: 添加控件后, 编辑单元格会出现异常 绑定 ItemsSource 属性后, 更新绑定对象的数据, UI 不刷新 如何显示控件中 ComboBox 类型 解决方法: 绑定 ItemsSource ...
- [Xcode 实际操作]七、文件与数据-(5 )复制、移动、删除文件和删除文件夹
目录:[Swift]Xcode实际操作 本文将演示如何复制.移动和删除文件. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit class ...
- mysql--浅谈多表查询1
这是对自己学习燕十八老师mysql教程的总结,非常感谢燕十八老师. 依赖软件:mysql5.6 系统环境:win 连接查询 在谈连接查询之前我们需要对数学上的笛卡尔积有一定的了解 现在有两个集合m和n ...
- ES6入门教程---变量和常量
ES6提出了两个新的声明变量的命令:let 和 const 1. 建议不再使用var,而使用let 和const .优先使用const. 在定义之后值是固定不变的,即为常量 常量的值不能修改,但是如果 ...
- 关于Django查询知识点总结
========关于Django查询知识点总结======= models.Book.objects.filter(**kwargs): querySet [obj1,obj2] models.Boo ...
- Oracle .NET Core
Oracle .NET Core Beta驱动已出,自己动手写EF Core Oracle https://www.cnblogs.com/yanweidie/p/9064609.html 使用.ne ...
- ASM 磁盘组的的scrip
之前经常用如下方式进行查询:步骤 1 以oracle用户登录系统.步骤 2 执行如下命令改变ORACLE_SID环境变量.$ export ORACLE_SID=+ASM1[1或者2]需要通过ps - ...
- 如何安装使用windows自带的telnet服务
控制面板->程序和功能->打开或关闭Windows功能->Telnet 客户端 [ Telnet 服务器 ] 安装完成后重启cmd telnet ip port
- replcation set (复制集)配置过程 --mongodb
一,配置规划 复制集原理(基本构成是1主2从的结构,自带互相监控投票机制(Raft(MongoDB) Paxos(mysql MGR 用的是变种))如果发生主库宕机,复制集内部会进行投票选举,选择一 ...
- 在Eclipse下搭建Hadoop开发环境
在前面的博文中博主展示了如何在虚拟机中搭建Hadoop的单节点伪分布集群,今天给大家介绍一下如何在Eclipse环境中搭建Hadoop的管理和开发环境,话不多说,下面我们就进入正题吧! 1.JDK安装 ...