Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengira Saiz Direktori dalam Python?
Mengira Saiz Direktori dengan Python
Mengira saiz direktori dalam Python boleh menjadi tugas yang berguna untuk mengurus ruang storan atau menganalisis data. Mari kita terokai cara mengira saiz ini dengan cekap.
Jumlah Saiz Fail Menggunakan os.walk
Satu pendekatan melibatkan merentasi direktori dan subdirektorinya, menjumlahkan saiz fail. Ini boleh dilaksanakan menggunakan fungsi os.walk:
<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) if not os.path.islink(fp): total_size += os.path.getsize(fp) return total_size print(get_size(), 'bytes')</code>
Fungsi ini mengira saiz direktori secara rekursif, memberikan jumlah saiz dalam bait.
Satu pelapik Menggunakan os. listdir
Untuk pengiraan pantas saiz direktori tanpa mengambil kira subdirektori, anda boleh menggunakan satu baris:
<code class="python">import os sum(os.path.getsize(f) for f in os.listdir('.') if os.path.isfile(f))</code>
Ungkapan ini menggunakan os.listdir untuk menyenaraikan semua fail dalam direktori semasa, dan os.path.getsize untuk menentukan saiznya.
Menggunakan os.stat dan os.scandir
Sebagai alternatif, anda boleh menggunakan os.stat atau os.scandir untuk mengira saiz fail. os.stat menyediakan maklumat fail tambahan, termasuk saiz:
<code class="python">import os nbytes = sum(d.stat().st_size for d in os.scandir('.') if d.is_file())</code>
os.scandir menawarkan prestasi yang lebih baik dalam Python 3.5 dan menawarkan cara yang lebih cekap untuk lelaran melalui direktori.
Pathlib Penyelesaian
Jika anda menggunakan Python 3.4 , perpustakaan pathlib menawarkan cara yang mudah untuk mengendalikan operasi direktori:
<code class="python">from pathlib import Path root_directory = Path('.') sum(f.stat().st_size for f in root_directory.glob('**/*') if f.is_file())</code>
Penyelesaian pathlib ini menggabungkan pendekatan sebelumnya untuk ringkas dan pengiraan yang cekap.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Saiz Direktori dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!