我编写了一个脚本来爬取系统上的目录并记录文件元数据。我用 os.walk 来做到这一点。
它在大多数情况下都有效,但是当在不同的机器上运行时,它会返回不同的文件列表。
现在我正在我的 Dropbox 文件夹上进行测试;在我的 MBPro(lion) 上,它会抓取文件夹并返回正确数量的文件。在我的 iMac(山狮)上它不会,通常每次运行会跳过 1-3 个文件。额外的爬网将拾取一个落后者,但通常它会继续忽略目录中的一些文件。
这是代码的一小段:
directory = '/Users/user/Dropbox/'
for dirname, dirnames, filenames in os.walk(directory):
for subdirname in dirnames:
for filename in filenames:
if os.path.isfile(filename):
# collect file info using os.path and os.stat
我显然想忽略目录。有一个更好的方法吗?最好是与操作系统无关的东西。