Salin File ke dalam Python: metode shutil.copy(), shutil.copystat()
Python Salin Metode File
Python menyediakan fungsi bawaan untuk menyalin file dengan mudah menggunakan Operating utilitas System Shell.
Perintah berikut digunakan untuk Menyalin File
shutil.copy(src,dst)
Perintah berikut digunakan untuk Menyalin File dengan Informasi MetaData
shutil.copystat(src,dst)
Cara Menyalin File di Python
Berikut langkah-langkah untuk menyalin file Python menggunakan metode shutil copy():
Langkah 1) Tangkap jalur asli di direktori saat ini
Sebelum kita menyalin file, kita perlu mendapatkan jalur ke file asli di direktori saat ini. Dalam kode –
- Mendeklarasikan variabel
- Menerapkan fungsi split pada variabel
Penjelasan Kode
- Pertama kita akan memeriksa apakah file “guru99.txt” kita ada atau tidak. Karena kita telah membuat file guru99.txt sebelumnya, kita tahu file itu ada, dan kita akan melanjutkan lebih jauh dengan kodenya
- Kami menyimpan jalur file dalam variabel “src” jika file Anda ada
- Setelah kami mendapatkan jalurnya, kami akan memisahkan jalur dan nama file
- Untuk itu, kita akan menggunakan split
path.split
fungsi pada variabel sumber - Kode saat dieksekusi tercetak “nama file"Dan"jalur file" terpisah
Langkah 2) Buat salinan file kami yang ada menggunakan modul shutil
Kami menggunakan Modul Shutil untuk membuat salinan file yang ada. Di sini kami biasa membuat salinan file yang ada “guru99.txt.”
Penjelasan Kode
- Ambil nama file asli “guru99.txt” dan tambahkan huruf .bak di akhir “guru99.txt.bak”. Nama dengan ekstensi .bak ini akan menjadi salinan duplikat kami
- Dan kemudian kita akan menggunakan fungsi salin utilitas untuk menyalin dari sumber ke tujuan
- Saat Anda menjalankan kode, Anda akan melihat file duplikat dengan ekstensi .bak dibuat di sisi kanan panel
Langkah 3) Salin metadata yang terkait dengan file, izin file, dan informasi lainnya
Fungsi salin hanya menyalin isi file tetapi tidak ada informasi lainnya. Untuk menyalin data meta terkait dengan file, izin file, dan informasi lain yang harus Anda gunakan “copystat" fungsi. Sebelum kita menjalankan kode ini, kita harus menghapus file salinan “guru99.text.bak”.
Setelah Anda menghapus file dan menjalankan program, itu akan membuat salinan file .txt Anda tetapi kali ini dengan semua informasi seperti izin file, waktu modifikasi dan informasi metadata. Anda dapat membuka shell OS Anda untuk memverifikasi informasi.
Ini kodenya
import os import shutil from os import path def main(): # make a duplicate of an existing file if path.exists("guru99.txt"): # get the path to the file in the current directory src = path.realpath("guru99.txt"); #seperate the path from the filter head, tail = path.split(src) print("path:" +head) print("file:" +tail) #let's make a backup copy by appending "bak" to the name dst = src+".bak" # nowuse the shell to make a copy of the file shutil.copy(src, dst) #copy over the permissions,modification shutil.copystat(src,dst) if __name__=="__main__": main()
Langkah 4) Ambil informasinya
Anda dapat mengambil informasi tentang file teks yang terakhir diubah
-
Baris Kode #15- Ini memberitahu hari, tanggal, bulan, tahun dan waktu ketika file .txt (guru99) terakhir dimodifikasi. Kami menggunakan modul path untuk mendapatkan rincian waktu modifikasi file, dan kemudian kami akan menggunakan kelas waktu c fungsi waktu untuk mengubahnya menjadi waktu yang dapat dibaca. Jadi ketika kita menjalankan kodenya, kita dapat melihat file guru99.txt terakhir diubah Senin, 8 Januarith pada 13:35 2018.
-
Baris Kode#17- Ia melakukan hal yang sama memberikan informasi tentang modifikasi file, tetapi memiliki format berbeda untuk mewakilinya. Di sini kami menggunakan Dapatkan fungsi Waktu Modifikasi (jalur.getmtime(“guru99.txt”)). Sekarang, alih-alih menggunakan fungsi waktu c, kita akan menggunakan Dari fungsi Stempel Waktu dan akan membuat objek tanggal waktu. Pada output, Anda dapat melihat detail waktu modifikasi file dicetak dalam format berbeda 2018-01-08, 13:35:51.334072
Ini kodenya
# # Example file for working with o.s path module import os from os import path import datetime from datetime import date, time, timedelta import time def main(): # Get the modification time t = time.ctime(path.getmtime("guru99.txt.bak")) print(t) print(datetime.datetime.fromtimestamp(path.getmtime("guru99.txt.bak"))) if __name__ == "__main__": main()
Ringkasan
- Untuk membuat salinan file yang ada dengan menggunakan kode shutil.copy (src,dst)
- Untuk menyalin semua informasi dari file asli ke file duplikat seperti izin file, waktu modifikasi atau informasi metadata dengan menggunakan kode shutil.copystat(src,dst)