python中file函数_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()

参考链接:

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服务器 首先从你本地切 ...

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值