python文件夹中文件读取踩坑
Q:
进行数据集图片预处理时,初始命名如下图(Fig1左),发现读取文件时,读取的结构并非如所设想的那样顺序读取

Fig 1
A:
pyhton读取文件的时候,按照文件名的ascii码中的顺序进行逐位排序,于是编写以下代码,更改命名规则,程序如下
# -*- coding:utf-8 -*-
# ------------------------------
# @Time :2019/5/26 10:55
# @Author :jonie
# @Email :xxxxx@xx.com
# @File :重命名.py
# Description:实现形如"类名_000x.jpg"的命名方式
# ------------------------------
import os
def re_name(path_name):
num = 0
for dir_image in os.listdir(path_name): # os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表
# print(dir_image)
full_path = os.path.abspath(os.path.join(path_name, dir_image))
# print(full_path) if os.path.isdir(full_path): # 如果是文件夹,继续递归调用
if not os.path.exists(os.path.join(r"D:\Jonie_Project_scc15\dataset\scene_categories",dir_image)):
os.makedirs(os.path.join(r"D:\Jonie_Project_scc15\dataset\scene_categories",dir_image))
# print(os.path.join(r"D:\Jonie_Project_ot8\data1\scene_categories",dir_image))
print("isdir")
re_name(full_path)
# print(full_path)
else: # 如果是文件了
# pass
# print(dir_image)
# print(full_path)
if dir_image.endswith('.jpg'):
cla=full_path.split('\\')[-2]
image_name = '%s_%04d.jpg' % (cla, num) # 注意这里图片名一定要加上扩展名,否则后面imwrite的时候会报错
image_name =os.path.join("D:\Jonie_Project_scc15","dataset\scene_categories",cla,image_name)
oldname=os.path.join("D:\Jonie_Project_scc15","dataset\scene_categories",cla,image_name)
# print(image_name)
print(full_path)
os.rename(full_path, image_name)
num = num + 1
if __name__ == '__main__':
re_name(r"D:\Jonie_Project_scc15\dataset\scene_categories")
rename.py
再次进行读取,发现达到预期结果

Fig 2
python文件夹中文件读取踩坑的更多相关文章
- Python按顺序读取文件夹中文件
参考资料: https://blog.csdn.net/qq_22227123/article/details/79903116 https://blog.csdn.net/merdy_xi/arti ...
- python批量处理文件夹中文件的问题
用os模块读取文件夹中文件 原来的代码: import osfrom scipy.misc import imread filenames=os.listdir(r'./unprocess')for ...
- C# 将文件夹中文件复制到另一个文件夹
p{ text-align:center; } blockquote > p > span{ text-align:center; font-size: 18px; color: #ff0 ...
- php获取指定文件夹中文件名称
/** * php获取指定文件夹中文件名称 * @author jackie <2018.10.10> */ public static function getFileName($fil ...
- Python之获取文件夹中文件列表以及glob与fnmatch模块的使用
获取文件夹中的文件列表 print(os.listdir("../secondPackage")) # ['__init__.py', 'secondCookBook.py', ' ...
- C#实现对指定文件夹中文件按修改时间排序
string path = "~/Document/Introduction/团队管理制度/"; DirectoryInfo dirinfo = new Di ...
- 【linux】复制文件夹中文件,排除部分文件
如下 cp `ls|grep -v -E '*json|out'|xargs` /home/data/ 用grep -v 表示排除, -E 表示正则 ls|grep -v -E '*json|out ...
- Java访问文件夹中文件的递归遍历代码Demo
上代码: import java.io.File; /* * 需求:对指定目录进行所有内容的列出(包含子目录中的内容) * 也可以理解为 深度遍历. */ public class FindAllFi ...
- 使用java读取文件夹中文件的行数
使用java统计某文件夹下所有文件的行数 经理突然交代一个任务:要求统计某个文件夹下所有文件的行数.在网上查了一个多小时没有解决.后来心里不爽就决定自己写一个java类用来统计文件的行数,于是花了两个 ...
随机推荐
- sed工具
SED是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑,标准输入可以来自键盘输入.文本重定向.字符串.变量,甚至来自于管道的文本,与VIM编辑器类似,它一次处理一行内容,Sed可以编辑一个或 ...
- Struts2和Spring集成
Spring是一个流行的Web框架,它提供易于集成与很多常见的网络任务.所以,问题是,为什么我们需要Spring,当我们有Struts2?Spring是超过一个MVC框架 - 它提供了许多其它好用的东 ...
- 超简单本地mock假数据测试,模拟后台数据返回必杀技
温馨提示:急性子可以直接拉到最后观看方法步骤. 什么是mock? mock就是在开发过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试开发的方法. 使用mock有什么好处? ...
- Github安装和使用(超级详细)
Github (原创:黑小子-余) 小编我是一名Git新手,然后花三天时间通过查找网上资料,了解Git的简单使用.本次我就实战操作git安装.github仓库创建.上传代码到github上.从gith ...
- webapp开发之IIS进程调试
1.背景 1.当我的手机连接电脑的时候想要调试居然连接不上,之后我将项目发布之后才可以请求(同一局域网下) 2.你们不觉得发布到IIS再附加进程太烦了么?看了看网上全是这种方法,这不科学!VS已经提供 ...
- C# list与table的互转
//list转化为table public static DataTable ListToDataTable<T>(List<T> entitys) { //检查实体集合不能为 ...
- $cometoj\#4\ D\ $求和 不是$dp$
\(Des\) \(Sol\) \(upd:\)以下两段是错误做法,但我不想删掉\(.jpg\) -----------------------以下是错误部分--------------------- ...
- Web基础了解版11-Ajax-JSON
Ajax AJAX即“Asynchronous Javascript And XML”:是,不发生页面跳转.异步请求载入内容并改写局部页面内容的技术. 也可以简单的理解为通过JS向服务器发送请求. ...
- Jmeter之BeanShell变量使用讲解
一.在测试过程中经常会遇到一些业务逻辑处理需要,单纯的线程设置不能满足,这时候就要使用BeanShell编写一定的脚本 前置处理器:BeanShell PreProcessor,主要接口请求前做一些参 ...
- 「洛谷P1233」木棍加工 解题报告
P1233 木棍加工 题目描述 一堆木头棍子共有n根,每根棍子的长度和宽度都是已知的.棍子可以被一台机器一个接一个地加工.机器处理一根棍子之前需要准备时间.准备时间是这样定义的: 第一根棍子的准备时间 ...