我的文件结构如下:
|num_1
|----|dir1
|--------|dir2
|------------|dcm
|----------------\file_1
|----------------\file_2
|----------------\file_n
|num_2
|----|dir1
|--------|dcm
|------------\file_1
|------------\file_n
|num_n
我想告诉我们os.walk(或更合适的东西?)遍历树,直到找到目录“dcm”。 dcm可以处于树的不同级别
这就是我所拥有的。谢谢!
import dicom
import re
import os
dcm = []
PATH = "C:\foo"
#find the directory we want to get to, save path
for path, dirs in os.walk(PATH):
for dirname in dirs:
fullpath = os.path.join(path,dirname)
if "dcm" in dirname:
#copied this first_file line - just want a fast and easy way to grab ONE file in the dcm directory
#without reading any of the others (for time reasons)
first_file = next((join(path, f) for f in os.listdir(path) if isfile(join(path, f))),"none")
fullpath = os.path.join(fullpath,first_file)
dcm.append(fullpath)
答案 0 :(得分:0)
我继续使用“懒惰”方式并使用listdir读出dcm目录下的所有文件 - 确定资源成本不是太高。 话虽这么说,我认为从一个目录中取出一个随机文件而不读取所有这些文件是一个有趣的查询,有些人比我更应该回答Python!
作为参考,我的最终解决方案是......请原谅迭代器使用效率低下!我是新手,需要快速解决方案
onCreated