Kaedah Fail Salin Python
Python menyediakan fungsi bawaan untuk menyalin fail dengan mudah menggunakan utiliti Shell Sistem Operasi.
Perintah berikut digunakan untuk Salin Fail
shutil.copy(src,dst)
Perintah berikut digunakan untuk Menyalin Fail dengan Maklumat MetaData
shutil.copystat(src,dst)
Berikut adalah langkah-langkah untuk menyalin fail di Python
Langkah 1) Sebelum, kita menyalin fail, kita perlu mendapatkan jalan ke fail asal di direktori semasa. Dalam kod -
- Menyatakan pemboleh ubah
- Menerapkan fungsi split pada pemboleh ubah
Penjelasan Kod
- Mula-mula kita akan memeriksa bahawa fail "guru99.txt" kita ada atau tidak. Oleh kerana kita telah membuat fail guru99.txt sebelumnya, kita tahu ia ada, dan kita akan meneruskan kodnya lebih jauh
- Kami menyimpan jalan fail dalam pemboleh ubah " src " jika fail anda ada
- Setelah mendapat jalan, kita akan memisahkan jalan dan nama fail
- Untuk itu, kita akan menggunakan
path.split
fungsi split pada pemboleh ubah sumber - Kod ketika dijalankan mencetak " nama fail " dan " jalur fail " secara berasingan
Langkah 2) Kami menggunakan Shutil Module untuk membuat salinan fail yang ada. Di sini kami biasa membuat salinan fail kami yang ada "guru99.txt."
Penjelasan Kod
- Ambil nama fail asal "guru99.txt" dan tambahkan huruf .bak di akhir "guru99.txt.bak". Nama ini dengan pelanjutan .bak akan menjadi salinan pendua kami
- Dan kemudian kita akan menggunakan fungsi salinan utiliti untuk menyalin dari sumber ke destinasi
- Apabila anda menjalankan kod, anda akan melihat fail pendua dengan sambungan .bak dibuat di sebelah kanan panel
Langkah 3) Fungsi salinan hanya menyalin kandungan fail tetapi tidak ada maklumat lain. Untuk menyalin meta-data yang berkaitan dengan fail, kebenaran fail dan maklumat lain, anda harus menggunakan fungsi " copystat ". Sebelum kita menjalankan kod ini, kita mesti menghapus fail salinan "guru99.text.bak" kita.
Setelah anda memadam fail dan menjalankan program, ia akan membuat salinan fail .txt anda tetapi kali ini dengan semua maklumat seperti kebenaran fail, masa pengubahsuaian dan maklumat meta-data . Anda boleh pergi ke shell OS anda untuk mengesahkan maklumat tersebut.
Inilah kodnya
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 boleh mengambil maklumat mengenai fail teks yang terakhir diubah suai
- Baris Kod # 15- Ia memberitahu hari, tarikh, bulan, tahun dan masa ketika fail .txt (guru99) terakhir diubah. Kami menggunakan modul jalur untuk mendapatkan perincian masa pengubahsuaian fail, dan kemudian kami akan menggunakan fungsi kelas waktu c untuk mengubahnya menjadi waktu yang dapat dibaca. Oleh itu, apabila kita menjalankan kod, kita boleh melihat guru99.txt fail diubah buat kali terakhir Mon, 8 Jan th di 13:35 2018.
- Code Line # 17- Ia melakukan perkara yang sama memberikan maklumat mengenai pengubahsuaian fail, tetapi ia mempunyai format yang berbeza untuk menggambarkannya. Di sini kita menggunakan fungsi Get Modification Time (path.getmtime ("guru99.txt")). Sekarang daripada menggunakan fungsi waktu c, kita akan menggunakan fungsi Dari Time Stamp dan akan membina objek tarikh tarikh. Dalam output, anda dapat melihat perincian masa pengubahsuaian fail dicetak dalam format yang berbeza 2018-01-08, 13: 35: 51.334072
Inilah kodnya
## 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 fail yang ada dengan menggunakan kod shutil.copy (src, dst)
- Untuk menyalin semua maklumat fail asal untuk mendua fail seperti kebenaran fail, masa pengubahsuaian atau maklumat meta-data dengan menggunakan kod shutil.copystat (src, dst)