【发布时间】:2015-07-11 10:41:26
【问题描述】:
for dirname, dirnames, filenames in os.walk("C:\\",followlinks=True,topdown=True):
for subdirname in dirnames:
os.chdir(os.path.join(subdirname, dirname))
if os.getcwd()!="C:\Windows\winsxs":
print(os.getcwd())
如您所见,此代码应该搜索整个 C 驱动器的所有子目录并更改 Python 的工作目录并显示结果。无论出于何种原因,我都忍不住注意到,os.walk 已经丢失了很多子目录。它似乎找到了一个大目录树,然后在继续之前只扫描了大约一半(或者至少我检查过的目录是这种情况,例如桌面)
我已经搜索了网络,但我似乎找不到其他遇到此问题的人,非常感谢一些帮助(我是新手编码员)。
编辑:解决方案有效,但现在运行代码时出现权限错误。
【问题讨论】:
-
在
join调用中dirname不是必须在subdirname之前吗?
标签: python operating-system os.walk