在 Python 中放置 break 和 return 语句



我正在尝试编写一个函数,该函数返回在文件夹嵌套中找到的第一个文件的路径。到目前为止,我所拥有的是:

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变量中找到一些东西。

相关内容

最新更新