File COPY Python menggunakan shutil.copy (), shutil.copystat ()

Daftar Isi:

Anonim

Metode File Salin Python

Python menyediakan fungsi bawaan untuk menyalin file dengan mudah menggunakan utilitas Shell Sistem Operasi.

Perintah berikut digunakan untuk Menyalin File

shutil.copy(src,dst)

Perintah berikut digunakan untuk Menyalin File dengan Informasi MetaData

shutil.copystat(src,dst)

Berikut langkah-langkah untuk menyalin file dengan Python

Langkah 1) Sebelumnya, kita menyalin file, kita perlu mendapatkan path ke file asli di direktori saat ini. Dalam kode -

  1. Mendeklarasikan variabel
  2. 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 itu ada, dan kita akan melanjutkan lebih jauh dengan kodenya
  • Kami menyimpan jalur file di variabel " src " jika file Anda ada
  • Setelah kami mendapatkan jalur, kami akan memisahkan jalur dan nama file
  • Untuk itu, kita akan menggunakan path.splitfungsi split pada variabel sumber
  • Kode saat dijalankan akan mencetak " nama file " dan " jalur file " secara terpisah

Langkah 2) Kami menggunakan Modul Shutil untuk membuat salinan file yang ada. Di sini kami biasa membuat salinan dari file "guru99.txt" yang sudah ada.

Penjelasan Kode

  • Gunakan nama file asli "guru99.txt" dan tambahkan huruf .bak di akhir "guru99.txt.bak". Nama ini dengan ekstensi .bak 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) Fungsi salin hanya menyalin konten file tetapi tidak ada informasi lain. Untuk menyalin meta-data yang terkait dengan file, izin file, dan informasi lain, Anda harus menggunakan fungsi " copystat ". Sebelum kita menjalankan kode ini, kita harus menghapus file salinan kita "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 pergi ke shell OS Anda untuk memverifikasi informasi.

Ini kodenya

import osimport shutilfrom os import pathdef main():# make a duplicate of an existing fileif path.exists("guru99.txt"):# get the path to the file in the current directorysrc = path.realpath("guru99.txt");#seperate the path from the filterhead, tail = path.split(src)print("path: +head)print("file: +tail)#let's make a backup copy by appending "bak" to the namedst = src+".bak"# nowuse the shell to make a copy of the fileshutil.copy(src, dst)#copy over the permissions,modificationshutil.copystat(src,dst)if __name__=="__main__":main()

Langkah 4) 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 jalur untuk mendapatkan detail waktu modifikasi file, dan kemudian kami akan menggunakan fungsi waktu kelas c waktu untuk mengubahnya menjadi waktu yang dapat dibaca. Jadi ketika kita menjalankan kode, kita dapat melihat file guru99.txt terakhir diubah pada Senin, 8 Jan th di 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 fungsi Get Modification Time (path.getmtime ("guru99.txt")). Sekarang alih-alih menggunakan fungsi waktu c kita akan menggunakan fungsi From Time Stamp dan akan membuat objek waktu tanggal. Dalam 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 moduleimport osfrom os import pathimport datetimefrom datetime import date, time, timedeltaimport timedef main():# Get the modification timet = 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 dari file yang sudah ada dengan menggunakan kode shutil.copy (src, dst)
  • Untuk menyalin semua informasi file asli ke file duplikat seperti izin file, waktu modifikasi atau informasi meta-data dengan menggunakan kode shutil.copystat (src, dst)