在 python 2.7 的 mac 上,当使用 os.walk 遍历目录时,我的脚本会遍历“apps”,即 appname.app,因为这些实际上只是它们自己的目录。后来在处理过程中,我遇到了错误。无论如何我都不想浏览它们,所以为了我的目的,最好忽略那些类型的“目录”。
所以这是我目前的解决方案:
for root, subdirs, files in os.walk(directory, True):
for subdir in subdirs:
if '.' in subdir:
subdirs.remove(subdir)
#do more stuff
如您所见,第二个 for 循环将针对子目录的每次迭代运行,这是不必要的,因为第一遍删除了我想要删除的所有内容。
必须有更有效的方法来做到这一点。有任何想法吗?