编写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()
参考链接:
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中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 ...
python 读取文件夹中所有同类型的文件 并用pandas合并
import globimport osimport pandas as pd read_path = 'D:/Data' # 要读取的文件夹的地址read_excel = glob.glob(os. ...
随机推荐
今天自己解决了两个问题(IE10 type slow ChromeDriver erro)
都是通过google解决的,其实本应该很快解决,可是因自己粗心,大写小错了,加上java基础不过关, "webdriver.chrome.driver"中的webdriver应是全 ...
Check whether a given Binary Tree is Complete or not 解答
Question A complete binary tree is a binary tree in which every level, except possibly the last, is ...
不可不知的DIP、IoC、DI以及IoC容器
面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.当中.OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.DI以及Ioc容器等概念. 本文首先用实例阐述四个概 ...
Centos7多网卡绑定操作,通过nmcli命令操作。
运行 ip link 命令查看系统中可用的接口1.创建bond网卡nmcli con add type team con-name team0 ifname team0 config '{" ...
[Go] golang原子函数实现goroutine同步
启动了两个goroutine,并完成一些工作.在各自循环的每次迭代之后,在goroutine 会使用LoadInt64 来检查shutdown 变量的值.这个函数会安全地返回shutdown 变量的一 ...
PAT A1115 Counting Nodes in a BST (30 分)——二叉搜索树,层序遍历或者dfs
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...
开源项目推荐:e-example / Springboot+bootstrap + ……
前言: 我想要找一个 springboot + bootstrap 的例子介绍,然后搜索到了这个开源项目. 所有能跑起来的项目都有研究价值,看看这个项目的文档.目前正好满足我想要的功能.推荐 正文: ...
yocto-sumo源码解析(九): ProcessServer.main
前面讲到BitbakeServer实际上是一个ProcessServer,因此对ProcessServer进行了一个大略的分析集,这里着重再介绍一下ProcessServer.main. 1. 初始化 ...
模拟退火算法(西安网选赛hdu5017)
Ellipsoid Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total ...
ssh 上传文件以及文件夹到linux服务器
闲来无事分享一篇,帮助到你的话,麻烦给老弟点个关注.经常会分享一些实用技能. 回归正题,现在服务器linux很多.是不是不会传文件?别急 下面就是方法: 一.上传文件到linux服务器 首先从你本地切 ...