情况:给出以下Python3代码:
top = "/"
def traverse(top):
filecount = 0
dircount = 0
for root, dirs, files in os.walk(top):
path = os.path.abspath(root)
print(path)
if os.path.isdir(path):
dircount += 1
elif os.path.isfile(path):
filecount += 1
#put the filepath into a function that hashes, then prints the hash
md5hash(path)
问题1:某些目录不会被遍历,目录将被打印,但子目录将不会被打印。
问题2:某些目录被视为文件,因此传递给散列函数,反过来会抛出一个错误,即#34;它不是文件",有效地告诉我Python函数是混淆的在文件和目录之间。
附加信息:我正在使用elementaryOS(Ubuntu 14.04),如果有帮助的话。