我正在尝试编写一个函数,该函数返回在文件夹嵌套中找到的第一个文件的路径。到目前为止,我所拥有的是:
def dicom_name(rootDir):
for dirName, subdirList, fileList in os.walk(rootDir):
for f in fileList:
print(dirName,f)
return(os.path.join(dirName,f))
break
现在如果我运行这个然后运行
dcm=dicom_name("test_dir")
print(dcm)
我看到"无">
我尝试了返回和中断语句的不同位置。 做我想做的事情的正确方法是什么?
你不需要break
. 您的函数总是在执行一次外线程后返回,即使在该迭代中找不到文件也是如此。 删除break
,它将起作用。
例如,如果您只有一个文件test_dir/a/b.txt
, 在第一次运行外螺纹时,您有
dirName = test_dir
subdirList = ['a']
fileList = []
在第二轮中:
dirName = test_dir/a
subdirList = []
fileList = ['b.txt']
所以你想继续,直到你在fileList
变量中找到一些东西。