Salin File dengan Python:metode shutil.copy(), shutil.copystat()
Metode Salin File Python
Python menyediakan fungsi bawaan untuk menyalin file dengan mudah menggunakan utilitas Sistem Operasi 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 dengan Python
Berikut adalah langkah-langkah untuk menyalin file dengan Python menggunakan metode shutil copy():
Langkah 1) Tangkap jalur asli di direktori saat ini Sebelum, kami menyalin file, kami 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 kami telah membuat file guru99.txt sebelumnya, kami tahu itu ada, dan kami akan melanjutkan lebih lanjut dengan kode
Kami menyimpan jalur file dalam variabel “src ” jika file Anda ada
Setelah kita mendapatkan pathnya, kita akan memisahkan path dan nama filenya
Untuk itu, kita akan menggunakan split path.split fungsi pada variabel sumber
Kode saat dijalankan akan mencetak “nama file ” dan “jalur file ” secara terpisah
Langkah 2) Buat salinan file yang ada menggunakan modul shutil Kami menggunakan Modul Shutil untuk membuat salinan file yang ada. Di sini kami biasa membuat salinan file "guru99.txt" yang sudah ada.
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
Kemudian kita akan menggunakan fungsi copy 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) Menyalin meta-data yang terkait dengan file, izin file, dan informasi lainnya Fungsi penyalinan hanya menyalin konten file tetapi tidak ada informasi lain. Untuk menyalin meta-data 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 meta-data . 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 informasi 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 diubah. Kami menggunakan modul path untuk mendapatkan detail waktu modifikasi file, dan kemudian kami akan menggunakan fungsi waktu kelas waktu c untuk mengubahnya menjadi waktu yang dapat dibaca. Jadi ketika kita menjalankan kodenya, kita dapat melihat file guru99.txt terakhir diubah pada Senin, 8 Jan
h
pada 13:35 2018.
Baris Kode#17- Ini melakukan hal yang sama memberikan informasi tentang modifikasi file, tetapi memiliki format yang berbeda untuk mewakilinya. Di sini kita menggunakan Dapatkan fungsi Waktu Modifikasi (path.getmtime("guru99.txt")). Sekarang alih-alih menggunakan fungsi waktu c kita akan menggunakan Fungsi Dari Stempel Waktu dan akan membangun objek tanggal waktu. Pada output, Anda dapat melihat detail waktu modifikasi file dicetak dalam format yang berbeda 08-01-2018, 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 meta-data dengan menggunakan kode shutil.copystat(src,dst)