os.walk()寻找指定文件

#T2 dcm文件从原位置批量复制到新文件夹'F:/467289/'
import os 
import numpy as np
path = '/Users/yxk/Desktop/Debug_test/file'# for root, dirs, files in os.walk(path):
#     for file in files:
#         if file.endswith('.dcm'):
#             print(file)# def findPath(startDir,targetFile):
#     file_count = 0
#     for i,(current_dir,dirs,files) in enumerate(os.walk(startDir)):
#         file_count += len(files)
#         if targetFile in files:
#            return (i,file_count,os.path.join(current_dir,targetFile))
#     return (i,file_count,None)# print(findPath(path,"000018.dcm"))def walkfs(startdir, findfile):dircount = 0filecount = 0file_list=[]parent_list=[]for root, dirs, files in os.walk(startdir):#print(files)if findfile in files:#return dircount, filecount + files.index(findfile), os.path.join(root, findfile)file_list.append(os.path.join(root, findfile))parent_dir = os.path.dirname(os.path.join(root, findfile))_, last_parent_folder = os.path.split(parent_dir)print(last_parent_folder)parent_list.append(parent_dir)# dircount += 1# filecount += len(files)# nothing found, return None instead of a full path for the filereturn file_list,parent_list
a,b = walkfs(path,"000018.dcm")
print(a)
print("*"*50)
print(b)# import os
# directory =path
# extension = "dcm"# pdf_files = []
# for root, dirs, files in os.walk(directory):
#     for filename in files:
#         if filename.endswith("." + extension):
#             #print(filename)
#             pdf_files.append(filename)# print(pdf_files)  # print all collected files
# print(len(pdf_files))
# #print(pdf_files[2]) # print third collected file

在这里插入图片描述

加入一个判断条件

def walkfs(startdir, findfile):dircount = 0filecount = 0file_list=[]parent_list=[]for root, dirs, files in os.walk(startdir):#print(files)if findfile in files:#return dircount, filecount + files.index(findfile), os.path.join(root, findfile)parent_dir = os.path.dirname(os.path.join(root, findfile))_, last_parent_folder = os.path.split(parent_dir)if ('t1' in last_parent_folder) or ('T1' in last_parent_folder):file_list.append(os.path.join(root, findfile))# print(last_parent_folder)#parent_list.append(parent_dir)return file_list
a = walkfs(path,"000018.dcm")
print(a)
print("*"*50)

以一个后缀名寻找

def walkfs(startdir, extension="dcm"):dircount = 0filecount = 0file_list=[]parent_list=[]for root, dirs, files in os.walk(startdir):#print(files)for findfile in files:#return dircount, filecount + files.index(findfile), os.path.join(root, findfile)if findfile.endswith("." + extension):parent_dir = os.path.dirname(os.path.join(root, findfile))_, last_parent_folder = os.path.split(parent_dir)if ('t1' in last_parent_folder) or ('T1' in last_parent_folder):file_list.append(os.path.join(root, findfile))# print(last_parent_folder)#parent_list.append(parent_dir)return file_list
a = walkfs(path,"dcm")
print(a)
print(len(a))
print("*"*50)
在这里插入代码片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/572806.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序的页面交互练习——实现比较两数大小功能

前提&#xff1a;配置好页面后 一、在wxml里面搭建好框架&#xff1a; <navigation-bar title"Weixin" back"{{false}}" color"black" background"#FFF"></navigation-bar> <scroll-view class"scrollarea"…

Win11电脑cpu温度过高怎么办呢

Win11电脑cpu温度过高怎么办呢&#xff1f;有时候我们感觉电脑发烫&#xff0c;担心电脑过烫会不会损坏。正常情况下&#xff0c;cpu的温度在45~65度之间&#xff0c;但不排除电脑同时开了太多软件&#xff0c;或者在玩吃鸡、英雄联盟等的大型游戏而导致温度超过85度。只要最高…

设计模式——行为型——策略模式Strategy

Q&#xff1a;策略模式的特点 A&#xff1a; 具体算法从具体的业务方法中独立出来策略模式是同行为的不同实现 Q&#xff1a;什么时候使用策略模式 A&#xff1a;多个if-else使用策略模式 收费对象类 public class CashContext {private CashStrategy cashStrategy;public…

Mysql---安全值守常用语句

文章目录 目录 文章目录 一.用户权限设置 用户设置 元数据查询 Union联合查询 分组查询 字符串函数 总结 一.用户权限设置 用户设置 #用户创建 create user "用户名""%主机名" identified by "密码" #用户删除 drop user 用户名 #用户查询…

LVS负载均衡-DR模式配置

LVS&#xff1a;Linux virtual server ,即Linux虚拟服务器 LVS自身是一个负载均衡器&#xff08;Director&#xff09;&#xff0c;不直接处理请求&#xff0c;而是将请求转发至位于它后端的真实服务器real server上。 LVS是四层&#xff08;传输层 tcp/udp&#xff09;负载均衡…

多维数组和交错数组笔记

1.) 关于数据的几个概念&#xff1a; Rank&#xff0c;即数组的维数&#xff0c;其值是数组类型的方括号之间逗号个数加上1。 Demo&#xff1a;利用一维数组显示斐波那契数列F(n) F(n-1) F(n-2) (n >2 ),每行显示5项,20项. static void Main(string[] args){int[] F n…

uniapp流浪动物救助小程序Java宠物领养小程序springboot

uniapp流浪动物救助小程序Java宠物领养小程序springboot 代码40块&#xff0c;需要的私聊 前台基于uniapp小程序 后台管理基于springbootvue前后端分离项目 开发语言&#xff1a;Java 框架&#xff1a;springboot vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xf…

Qt源程序编译及错误问题解决

Error 5 while parsing C:/qt-everywhere-src-6.6.2/qt-build/qtdeclarative/src/qmlmodels/meta_types/qt6qmlmodels_release_metatypes.json: illegal value .json 文件为空文件0字节&#xff0c;加 “[]”&#xff0c;不要引号。可以解决这类错误。 Qt编译 Qt for Windows…

Web3:探索区块链与物联网的融合

引言 随着科技的不断发展&#xff0c;区块链技术和物联网技术都成为了近年来备受瞩目的前沿技术。而当这两者结合在一起&#xff0c;将产生怎样的化学反应呢&#xff1f;本文将深入探讨Web3时代中区块链与物联网的融合&#xff0c;探索其意义、应用场景以及未来发展趋势。 1. …

存储的过程

一、存储过程 1.1 概述 存储过程可以轻松而高效的去完成这个需求&#xff0c;有点类似shell脚本里的函数 1.2 特点 存储过程在数据库中创建并保存&#xff0c;它不仅仅是 SQL 语句的集合&#xff0c;还可以加入一些特殊的控制结构&#xff0c;也可以控制数据的访问方式。存储过…

快速创建zookeeper集群

先说明&#xff0c;我很穷&#xff01;&#xff01;&#xff0c;开不了多个虚拟机&#xff0c;zookeeper集群的3个节点都放在同一个虚拟机&#xff0c;所以搭建是一个伪集群&#xff0c;因为一个服务器挂机&#xff0c;所有节点都会停止。工作实际情况安装到三个服务器&#xf…

【C++】STL 标准模板库

前言 在前一章种我们介绍了C中的模板的使用&#xff0c;这是一种泛型编程&#xff0c;模板的使用能让我们减少大量的相似代码&#xff0c;减少我们的代码量与工作量&#xff0c;写出更加高效简洁的代码&#xff0c;模板如此好用&#xff0c;但还是要我们先出写一个泛型类或函数…