一旦有办法处理文件路径,就可以开始搜集特定文件和文件夹的信息。os.path 模块提供了一些函数,用于查看文件的字节数以及给定文件夹中的文件和子文件夹。
• 调用 os.path.getsize(path)将返回 path 参数中文件的字节数。
• 调用 os.listdir(path)将返回文件名字符串的列表,包含 path 参数中的每个文件(请注意,这个函数在 os 模块中,而不是 os.path)。
下面是我在交互式环境中尝试这些函数的结果:
>>> os.path.getsize('C:\\Windows\\System32\\calc.exe')
776192
>>> os.listdir('C:\\Windows\\System32')
['0409', '12520437.cpx', '12520850.cpx', '5U877.ax', 'aaclient.dll',
--snip--
'xwtpdui.dll', 'xwtpw32.dll', 'zh-CN', 'zh-HK', 'zh-TW', 'zipfldr.dll']
可以看到,我的计算机上的 calc.exe 程序是 776192 字节。在我的 C:\Windows\system32 下有许多文件。如果想知道这个目录下所有文件的总字节数,就可以同时使用 os.path.getsize()和 os.listdir()。
>>> totalSize = 0
>>> for filename in os.listdir('C:\\Windows\\System32'):
totalSize = totalSize + os.path.getsize(os.path.join('C:\\Windows\\System32', filename))
>>> print(totalSize)
1117846456
当循环遍历C:\Windows\System32 文件夹中的每个文件时,totalSize 变量依次增加每个文件的字节数。请注意,我在调用 os.path.getsize()时,使用了 os.path.join()来连接文件夹名称和当前的文件名。os.path.getsize()返回的整数添加到totalSize 中。在循环遍历所有文件后,我打印出 totalSize,看看C:\Windows\System32 文件夹的总字节数。