今天继续分享读写文件,之前说了那么多,都没说如何查看文件大小和文件夹内容
今天我就给大家说一下。
查看文件大小和文件夹内容
一旦有办法处理文件路径,就可以开始搜集特定文件和文件夹的信息。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 文件夹的总字节数。
接下来再说一下如何检查路径有效性
如果你提供的路径不存在,许多 Python 函数就会崩溃并报错。os.path 模块提供了一些函数,用于检测给定的路径是否存在,以及它是文件还是文件夹。
如果 path 参数所指的文件或文件夹存在,调用 os.path.exists(path)将返回 True, 否则返回 False。
如果 path 参数存在,并且是一个文件,调用 os.path.isfile(path)将返回 True,否 则返回 False。
如果 path 参数存在,并且是一个文件夹,调用 os.path.isdir(path)将返回 True, 否则返回 False。
下面是我在交互式环境中尝试这些函数的结果:
>>> os.path.exists('C:\\Windows')
True
>>> os.path.exists('C:\\some_made_up_folder')
False
>>> os.path.isdir('C:\\Windows\\System32')
True
>>> os.path.isfile('C:\\Windows\\System32')
False
>>> os.path.isdir('C:\\Windows\\System32\\calc.exe')
今天就分享到这,晚安!