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 = 0
    filecount = 0
    file_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 file
    return 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 = 0
    filecount = 0
    file_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 = 0
    filecount = 0
    file_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)
在这里插入代码片

相关推荐

  1. [python日常]获取指定文件夹下,指定后缀的文件

    2024-03-28 06:04:01       8 阅读
  2. Git提交忽略指定文件

    2024-03-28 06:04:01       31 阅读
  3. IDEA指定配置文件启动

    2024-03-28 06:04:01       8 阅读
  4. C# 读取指定文件夹

    2024-03-28 06:04:01       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-28 06:04:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-28 06:04:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-28 06:04:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-28 06:04:01       20 阅读

热门阅读

  1. flutter boost 如何从native跳转到flutter页面

    2024-03-28 06:04:01       20 阅读
  2. Selenium 学习(0.22)——软件测试之小结

    2024-03-28 06:04:01       16 阅读
  3. 深入浅出(四)VTK库—3D可视化

    2024-03-28 06:04:01       18 阅读
  4. 边缘随机变量

    2024-03-28 06:04:01       19 阅读
  5. TCP面向字节流协议分析

    2024-03-28 06:04:01       21 阅读
  6. maya外部调用

    2024-03-28 06:04:01       21 阅读
  7. centos 安装 netstat

    2024-03-28 06:04:01       17 阅读
  8. ChatGPT指南:如何利用人工智能进行编程

    2024-03-28 06:04:01       23 阅读
  9. sonar扫描bug及对应修复

    2024-03-28 06:04:01       16 阅读
  10. 大模型的学习 LLaMa和ChatGLM,minichatgpt4

    2024-03-28 06:04:01       20 阅读