Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Mengira Saiz Direktori dalam Python: Perbandingan Kaedah

Cara Mengira Saiz Direktori dalam Python: Perbandingan Kaedah

Susan Sarandon
Susan Sarandonasal
2024-11-01 14:03:02955semak imbas

How to Calculate Directory Sizes in Python: A Comparison of Methods

Mengira Saiz Direktori dengan Python

Sebelum memulakan pelaksanaan tersuai, adalah wajar untuk meneroka sama ada penyelesaian sedia ada boleh menyelaraskan tugas menentukan saiz direktori.

Cadangan Penyelesaian Menggunakan os.walk

Rutin Python berikut dengan cekap berjalan melalui sub-direktori dan mengumpul saiz setiap fail:

<code class="python">import os

def get_size(start_path='.'):
    total_size = 0
    for dirpath, dirnames, filenames in os.walk(start_path):
        for f in filenames:
            fp = os.path.join(dirpath, f)
            # Skip symbolic links
            if not os.path.islink(fp):
                total_size += os.path.getsize(fp)
    return total_size

print(get_size(), 'bytes')</code>

Alternatif Satu Pelapik Menggunakan os.listdir

Untuk pendekatan yang lebih pantas dan ringkas yang mengecualikan subdirektori, pertimbangkan satu baris berikut:

<code class="python">import os
sum(os.path.getsize(f) for f in os.listdir('.') if os.path.isfile(f))</code>

Rujukan dan Pengoptimuman Selanjutnya

Untuk maklumat lanjut, rujuk sumber berikut:

  • os.path.getsize: Memperoleh saiz fail dalam bait
  • os.path.islink: Mengesan pautan simbolik
  • os.path.stat().st_size: Kaedah mendapatkan semula saiz fail alternatif
  • Pakej scandir: Menawarkan kaedah yang cekap kaedah berjalan
  • Modul pathlib: Untuk penyelesaian yang lebih ringkas dan serba boleh

Dengan memilih kod sedia ada, anda boleh mempercepatkan proses pembangunan anda sambil memastikan ketepatan dalam mengira saiz direktori.

Atas ialah kandungan terperinci Cara Mengira Saiz Direktori dalam Python: Perbandingan Kaedah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn