我正在做一个遍历目录并在windows中查找文件的项目。
for element in os.listdir(path):
new_path = os.path.join(path, element)
if os.path.isdir(new_path):
pass
elif os.path.isfile(new_path):
pass
else:
pass
现在我好奇的是,如果windows或任何其他操作系统有任何其他树元素?如果不是,检查边缘情况是否仍然是个好主意?
检查路径模块文档,我看到有多个谓词:
isfile()
isdir()
islink()
然而,当islink()
是true
时,isdir()
和isfile()
中的一个也是true
(因为它们都遵循符号链接)。
您必须小心,当路径中没有文件或目录时,两者都是false
。您可以使用exists()
进行验证。然而,在您的示例中,路径指向现有的项目,因为您从listdir()
获得它们。