获取不包含pdf文件的文件夹路径
Obtain paths of folders not containing a pdf file
我想找到所有不包含 pdf 文档的文件夹。
这是我目前尝试过的方法
import os
path = 'T:/Projects/'
paths_not_containing_pdfs = []
for root, dirs, files in os.walk(path):
for name in files:
if not name.endswith('.pdf'):
paths_not_containing_pdfs.append(root)
但是,此代码不起作用。它几乎 returns 所有文件夹的路径。而且不是唯一没有 pdf 的。
有什么帮助吗?
您的代码
for root, dirs, files in os.walk(path):
for name in files:
if not name.endswith('.pdf'):
paths_not_containing_pdfs.append(root)
确实会找到所有至少有一个非 PDF 文件的文件夹,要找到没有任何 PDF 的文件夹,您可以使用 any
,如下所示
for root, dirs, files in os.walk(path):
if not any(name.endswith('.pdf') for name in files):
paths_not_containing_pdfs.append(root)
请注意,我使用了所谓的理解,name.endswith('.pdf') for name in files
给出了 True
s(对于 .pdf)和 False
s(对于其他),然后 any
检查如果至少出现一个 True
。
我想找到所有不包含 pdf 文档的文件夹。
这是我目前尝试过的方法
import os
path = 'T:/Projects/'
paths_not_containing_pdfs = []
for root, dirs, files in os.walk(path):
for name in files:
if not name.endswith('.pdf'):
paths_not_containing_pdfs.append(root)
但是,此代码不起作用。它几乎 returns 所有文件夹的路径。而且不是唯一没有 pdf 的。
有什么帮助吗?
您的代码
for root, dirs, files in os.walk(path):
for name in files:
if not name.endswith('.pdf'):
paths_not_containing_pdfs.append(root)
确实会找到所有至少有一个非 PDF 文件的文件夹,要找到没有任何 PDF 的文件夹,您可以使用 any
,如下所示
for root, dirs, files in os.walk(path):
if not any(name.endswith('.pdf') for name in files):
paths_not_containing_pdfs.append(root)
请注意,我使用了所谓的理解,name.endswith('.pdf') for name in files
给出了 True
s(对于 .pdf)和 False
s(对于其他),然后 any
检查如果至少出现一个 True
。