ファイルリストを取得するためにはPythonを使用して、フォルダのサイズでファイルやフォルダを計算する方法についての話

os.pathモ​​ジュールは、フォルダとファイルサイズのファイルのリストを取得するための機能を提供します。

  • os.path.getsize(パス)は、ファイル・パス内のバイト数を返します。
  • os.listdir(パス)は、ファイルのパスまたはファイル名が含まれているのリストを返します。注:この方法は、直接OH OSの下でモジュールに連結されているO(∩_∩)O
folder = os.path.join('c:', 'Program Files', 'mat')
file = os.path.join(folder, 'MemoryAnalyzer.exe')

print(str(os.path.getsize(file) / 1024) + 'KB')
print(os.listdir(folder))

結果:

407.5キロバイト
[ '設定'、 'eclipsec.exe'、 'EPL-v10.html'、 '機能'、 'MemoryAnalyzer.exe'、 'MemoryAnalyzer.ini'、 'notice.html'、 'P2'、「ParseHeapDump。コウモリ」、 『プラグイン』、 『ワークスペース』]

統合された使用os.path.getsize()とos.listdir()は、フォルダ内のすべてのファイルの総バイト数を取得することができます:

total_size = 0
for file_name in os.listdir(folder):
    total_size = total_size + os.path.getsize(os.path.join(folder, file_name))
print(str(total_size/1024) + 'KB')

結果:

644.81640625キロバイト

あなたは息子フォルダを含むすべてのファイルのサイズを計算する必要がある場合、あなたは、再帰関数を定義する必要があります。

def calculate_total_size(folder_path):
    '''
    计算当前文件夹下所有文件大小
    :param folder_path:  文件夹路径
    :return:
    '''
    total_size = 0
    for file_name in os.listdir(folder_path):
        path = os.path.join(folder_path, file_name)
        if os.path.isdir(path):  # 递归调用,计算子孙文件夹中所包含的文件总大小
            total_size = total_size + calculate_total_size(path)
        if os.path.isfile(path):  # 直接计算
            total_size = total_size + os.path.getsize(path)
    return total_size


# 计算当前文件夹下所有文件大小(包含子孙文件夹中的所有文件)
total_size = calculate_total_size(folder)
print(str(total_size / 1024) + 'KB')

結果:

113761.3232421875キロバイト

公開された606元の記事 ウォンの賞賛674 ビュー890 000 +

おすすめ

転載: blog.csdn.net/deniro_li/article/details/104032366