📜  Python - 获取目录中具有大小的文件列表(1)

📅  最后修改于: 2023-12-03 15:18:52.936000             🧑  作者: Mango

Python - 获取目录中具有大小的文件列表

在处理文件时,有时需要获取目录中文件列表并显示它们的大小。在Python中,我们可以使用os模块和os.path模块来实现此操作。

获取目录中的所有文件列表

我们可以使用os.listdir()函数来获取目录中的所有文件列表,如下所示:

import os

dir_path = '/path/to/directory'

file_list = os.listdir(dir_path)

print(file_list)

此代码将返回目录中所有文件名的列表。

获取具有大小的文件列表

要获取具有大小的文件列表,我们需要使用os.path模块计算文件的大小。下面是一个示例代码片段,它创建了一个包含目录中所有文件名和大小的列表:

import os

def get_size(file_path):
    """获取文件大小"""
    size = os.path.getsize(file_path)
    return size

def get_files_with_size(dir_path):
    """获取目录中具有大小的文件列表"""
    files = os.listdir(dir_path)
    files_with_size = []
    for file in files:
        file_path = os.path.join(dir_path, file)
        if os.path.isfile(file_path):
            size = get_size(file_path)
            files_with_size.append((file, size))
    return files_with_size

在上面的示例代码中,我们首先定义了一个名为get_size()的函数来计算文件大小。然后我们定义一个名为get_files_with_size()的函数来遍历目录中的所有文件,并使用os.path模块计算每个文件的大小。最后,我们返回一个包含目录中所有文件名和大小的列表。每个元素都表示为一个元组,其中第一个项是文件名,第二个项是文件大小(以字节为单位)。

示例用法

我们可以将上面的代码使用以下方式:

dir_path = '/path/to/directory'
files_with_size = get_files_with_size(dir_path)
for file, size in files_with_size:
    print(f"{file} \t {size} bytes")

此代码将输出每个文件名,后跟一个制表符,并紧随其后的是该文件的大小(以字节为单位)。

结论

使用os模块和os.path模块,我们可以轻松地获取目录中文件列表和它们的大小。如需获取目录中具有大小的文件列表,请使用上述示例代码。