Python

Gunakan python untuk Zip file dan direktori

Gunakan python untuk Zip file dan direktori
File terkompresi berisi banyak file, direktori, dan subdirektori. Banyak aplikasi tersedia untuk membuat file kompres dari file atau direktori besar dan mengambil file atau folder dengan mengekstrak file terkompresi. Saat kita ingin mentransfer besar atau folder apa pun melalui Internet, lebih baik untuk mengompres konten sebelum mentransfer. Ini membuat tugas lebih cepat. Anda dapat menggunakan skrip python untuk mengompresi dan mengekstrak file atau direktori besar apa pun. file zip modul python digunakan untuk melakukan tugas. Bagaimana Anda dapat menggunakan python3 untuk mengompres file atau direktori apa pun ditunjukkan dalam tutorial ini dengan menggunakan berbagai contoh.

Contoh-1: Mengompresi satu file

Buat file baru bernama 'kode pos1.py' dan tambahkan kode berikut. file zip modul diimpor untuk mengompres file. suhu.zip ditetapkan sebagai nama file zip dengan mode tulis dan selanjutnya, nama file asli, suhu.txt dan tipe kompres diberikan sebagai parameter dalam metode tulis.

impor file zip
zip_file = zipfile.ZipFile('temp.zip', 'w')
zip_file.tulis('temp.txt', kompres_type=zipfile.ZIP_DEFLATED)
zip_file.Menutup()

Jalankan skrip

$ python3 kode pos1.py

Ukuran dari suhu.txt aku s 27 byte dan setelah kompresi, ukuran suhu.zip aku s 2 byte.

Contoh-2: Mengompresi direktori tertentu

Buat file baru bernama 'kode pos2.py' dan tambahkan kode berikut. Direktori dapat berisi banyak file, folder, dan subfolder. Untuk membaca isi direktori, os modul python diimpor dengan file zip modul untuk mengompres direktori. Dalam skrip ini, mydir direktori digunakan untuk kompresi.

# impor modul yang diperlukan
 
impor os
impor file zip
 
 
# Deklarasikan fungsi untuk mengembalikan semua jalur file dari direktori tertentu
def retrieve_file_paths(dirName):
 
# mengatur variabel jalur file
filePath = []
 
# Baca semua direktori, subdirektori, dan daftar file
untuk root, direktori, file di os.berjalan (dirName):
untuk nama file dalam file:
# Buat path file lengkap dengan menggunakan modul os.
filePath = os.jalan.bergabung (root, nama file)
filePaths.tambahkan (filePath)
 
# kembalikan semua jalur
mengembalikan filePaths
 
 
# Nyatakan fungsi utama
def utama():
# Tetapkan nama direktori ke zip
dir_name = 'dir saya'
 
# Panggil fungsi untuk mengambil semua file dan folder dari direktori yang ditetapkan
filePaths = ambil_file_paths(dir_name)
 
# mencetak daftar semua file yang akan di-zip
print('Daftar file berikut akan di-zip:')
untuk fileName di filePaths:
cetak (nama file)
 
# menulis file ke file zip
zip_file = zipfile.ZipFile(dir_name+'.zip', 'w')
dengan zip_file:
# menulis setiap file satu per satu
untuk file di filePaths:
zip_file.tulis (berkas)
 
cetak(dir_name+'.file zip berhasil dibuat!')
 
# Panggil fungsi utama
jika __name__ == "__main__":
utama()

Jalankan skrip

$ python3 kode pos2.py

Ukuran dari mydir aku s 21 byte dan setelah kompresi, ukuran mydir.zip aku s 2 byte.

Contoh-3: Mengompresi direktori yang diberikan oleh argumen baris perintah

Buat file baru bernama 'kode pos3.py' dan tambahkan kode berikut. Untuk membaca nilai baris perintah, modul python lain sistem diimpor dengan os dan file zip modul.

# impor modul yang diperlukan
 
impor os
sistem impor
impor file zip
 
# Deklarasikan fungsi untuk mengembalikan semua jalur file dari direktori tertentu
def retrieve_file_paths(dirName):
 
# mengatur variabel jalur file
filePath = []
 
# Baca semua direktori, subdirektori, dan daftar file
untuk root, direktori, file di os.berjalan (dirName):
untuk nama file dalam file:
# Buat path file lengkap dengan menggunakan modul os.
filePath = os.jalan.bergabung (root, nama file)
jalur file.tambahkan (filePath)
 
# kembalikan semua jalur
mengembalikan filePaths
 
 
# Nyatakan fungsi utama
def utama():
 
# Periksa dua argumen yang diberikan pada saat menjalankan skrip
jika len (sys.argv) != 2 :
print ("Anda telah memasukkan nama direktori ke zip")
sistem.keluar (1)
 
# Atur nama direktori dari argumen perintah command
dir_name = sys.argv[1]
 
# Atur nama file zip
zipFileName = nama_dir + ".zip"
 
# Panggil fungsi untuk mengambil semua file dan folder dari direktori yang ditetapkan
filePaths = ambil_file_paths(dir_name)
 
# cetak daftar file yang akan di-zip
print('Daftar file berikut akan di-zip:')
untuk fileName di filePaths:
cetak (nama file)
 
# tulis file dan folder ke file zip
zip_file = zipfile.ZipFile(zipFileName, 'w')
dengan zip_file:
# tulis setiap file secara terpisah
untuk file di filePaths:
zip_file.tulis (berkas)
 
print(file zipFileName+' berhasil dibuat!')
 
# Panggil fungsi utama
jika __name__ == "__main__":
utama()

Jalankan skrip

$ python3 kode pos3.py

uji diberikan sebagai nama direktori dalam argumen baris perintah. Ukuran dari uji aku s 21 byte dan setelah kompresi, ukuran uji.zip aku s 2 byte.

Saya harap, tutorial ini akan membantu Anda menggunakan python untuk mengompresi file atau direktori apa pun.

Trackpad dan Mouse Pointer di Layar AppyMouse untuk Tablet Windows
Pengguna tablet sering melewatkan penunjuk mouse, terutama ketika mereka terbiasa menggunakan laptop. Layar sentuh Smartphone dan tablet hadir dengan ...
Tombol tengah mouse tidak berfungsi di Windows 10
Itu tombol tengah mouse membantu Anda menelusuri halaman web dan layar yang panjang dengan banyak data. Jika itu berhenti, Anda akhirnya akan mengguna...
Cara Mengganti Tombol Kiri & Kanan Mouse di PC Windows 10
Sudah menjadi hal biasa bahwa semua perangkat mouse komputer dirancang secara ergonomis untuk pengguna yang tidak kidal. Tetapi ada perangkat mouse ya...