Tulis program python untuk menyalin konten dari satu file ke file lainnya

Deskripsi Masalah. Kita perlu menyalin semua data dari satu file ke file lain. Nama kedua file disediakan oleh pengguna sebagai input. Jika file tujuan tidak ada, buat yang baru

Kami akan menggunakan konsep penanganan file dengan python dan membaca dan menulis konten di dalam file

Langkah-langkah untuk menyalin konten dari satu file ke file lainnya

  • Langkah 1. Bawa pengguna nama file sumber dan tujuan
  • Langkah 2. Jika sumbernya ada file sumber maka salin isi file sumber ke file tujuan
  • Langkah 3. Jika file tujuan tidak ada, buat yang baru

Program untuk mengilustrasikan solusi dari masalah

sfile=input("Enter Source File:")

try:
    sf=open(sfile,"rb")

    tfile = input("Enter Target File:")
    tf=open(tfile,"wb")

    tf.write(sf.read())

    sf.close()
    tf.close()
    print("File Copied...")
except FileNotFoundError as e:
    print(e)

Keluaran

Enter Source File:data.dat
Enter Target File:newdata.dat
File Copied...

Files :
    data.dat
    10032,John Doe,45000
    10323,Ram,50000

    newData.dat 
    10032,John Doe,45000
    10323,Ram,50000
_

Di sini, kami telah meminta pengguna untuk memasukkan nama file untuk sumber dan tujuan. Setelah pengguna memberikan nama file sumber yang valid, kami telah menyalin isinya ke file tujuan

Kesalahan sintaks. (kesalahan unicode) codec 'unicodeescape' tidak dapat mendekode byte di posisi 2-3. terpotong \UXXXXXXXX melarikan diri

Dalam konteks contoh kita, kode lengkapnya akan terlihat seperti ini

import shutil

original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\products.csv'

shutil.copyfile(original, target)

Jika Anda menjalankan kode dengan Python (disesuaikan dengan jalur Anda), Anda akan melihat bahwa file CSV 'produk' akan disalin ke folder Test_2

Atau, Anda dapat menyalin file dengan nama baru

Misalnya, mari salin file CSV asli (dengan nama file 'produk') ke lokasi baru dengan nama file baru ('produk_baru')

import shutil

original = r'C:\Users\Ron\Desktop\Test_1\products.csv'
target = r'C:\Users\Ron\Desktop\Test_2\new_products.csv'

shutil.copyfile(original, target)

Nama file baru (disebut 'new_products') kemudian akan disalin di lokasi target (folder Test_2)

Prinsip yang sama akan berlaku untuk jenis file lainnya. Misalnya, misalkan file JPG bernama 'image' disimpan di folder Test_1

Terkadang Anda mungkin perlu menyimpan objek Python Anda secara lokal untuk digunakan nanti atau transfer Jaringan. Python memiliki perpustakaan yang fantastis untuk serialisasi seperti Json dan Pickle

Serialisasi menyimpan struktur data dalam program agar tidak hilang begitu saja setelah program dihentikan

Ada juga perpustakaan marshal tetapi lebih primitif dan tidak dapat menangani teknik tertentu seperti instance kelas dan rekursi. Marshal lebih dekat ke json dalam cakupan serialisasinya

Jadi, kapan Anda akan menggunakan pickle, cpickle, json atau ujson?

cpickle dan ujson adalah versi lebih cepat dari masing-masing pustaka yang memanfaatkan implementasi C dengan Python. Jadi mereka selalu menguntungkan karena alasan kecepatan

Selain itu, json adalah versi serialisasi yang lebih aman dan mudah dibaca daripada acar yang mengorbankan kecepatan

Meskipun Anda dapat menangani hampir semua struktur data di Python dengan Json, Json menjadi tidak efisien dengan file besar atau objek yang tidak biasa. Pickle di sisi lain beroperasi di sweet spot di mana Anda ingin bekerja dengan file besar (beberapa GB) dan masih tidak ingin direpotkan dengan solusi database

Masalahnya tergantung pada aplikasi Anda, Anda mungkin harus berhati-hati terhadap kerentanan keamanan yang diperkenalkan acar ke sistem sehingga biasanya bijaksana untuk mencari solusi json atau basis data sebelum beralih ke acar bila memungkinkan

Artikel ini dibuat untuk membahas beberapa program dengan Python, yang menyalin konten dari satu file ke file lainnya. Nama kedua file harus dimasukkan oleh pengguna saat run-time. Berikut daftar programnya

  • Salin Konten dari Satu File ke File Lain tanpa menggunakan Metode copyfile()
  • Menggunakan metode copyfile()
  • Menggunakan dengan dan sebagai Kata Kunci
  • Kode Python Terpendek untuk Menyalin Konten File

Hal yang Harus Dilakukan sebelum Program

Karena program yang diberikan di bawah ini menyalin konten dari satu file ke file lainnya, yang dimasukkan oleh pengguna. Oleh karena itu kami harus membuat file di dalam direktori saat ini. Direktori saat ini berarti, direktori tempat kode sumber Python untuk menyalin satu file ke file lain disimpan. Oleh karena itu buatlah sebuah file bernama codecracker. txt dengan konten berikut

Hello Python!
I'm a File
My name is codescracker.txt
_

Ini snapshot folder tempat file dan kode sumber Python (untuk menyalin konten file) disimpan

python copy files

Dan inilah snapshot dari codecracker file yang dibuka. txt

python copy one file to another

Sekarang mari beralih ke program yang menyalin konten file yang dimasukkan oleh pengguna (codescracker. txt di sini) ke file lain, juga dimasukkan oleh pengguna

Salin Konten dari Satu File ke File Lain dengan Python

Untuk menyalin konten dari satu file ke file lain dengan Python, Anda harus meminta dari pengguna untuk memasukkan nama dua file. File pertama disebut sebagai source, sedangkan file kedua disebut sebagai target file. Artinya, konten file sumber disalin ke file target seperti yang ditunjukkan pada program di bawah ini

Pertanyaannya adalah, tulis program Python untuk menyalin satu file ke file lain yang dimasukkan oleh pengguna saat run-time. Inilah jawabannya

print("Enter the Name of Source File: ")
sFile = input()
print("Enter the Name of Target File: ")
tFile = input()

fileHandle = open(sFile, "r")
texts = fileHandle.readlines()
fileHandle.close()

fileHandle = open(tFile, "w")
for s in texts:
    fileHandle.write(s)
fileHandle.close()

print("\nFile Copied Successfully!")

Ini adalah keluaran awal yang dihasilkan oleh program Python ini, meminta pengguna untuk memasukkan nama file sumber. File sumber adalah file, yang kontennya disalin ke file (target) lain

copy file program python

Sekarang berikan masukan, katakanlah pemecah kode. txt (file yang baru dibuat) sebagai nama file sumber, tekan tombol ENTER lalu ketik kode. txt sebagai nama file target, dan sekali lagi tekan tombol ENTER untuk menyalin konten file sumber ke file target

Jika file target tidak ada di direktori saat ini, maka file baru dengan nama yang sama akan dibuat dan konten file sumber akan disalin. Ini adalah output sampelnya

python program copy file

Setelah memasok input ini persis seperti yang ditunjukkan dalam contoh ini. Sebuah file bernama kode. txt dibuat di dalam folder yang sama, di mana kode sumber (program di atas) dan file (codescracker. txt) disimpan. Berikut snapshot dari folder tersebut

copy content of one file to another python

Seperti yang Anda lihat bahwa file baru dengan nama yang sama seperti yang dimasukkan untuk nama file target, dibuat. Dan jika Anda membuka kode file. txt, ini berisi konten yang sama dengan codecracker. txt

Versi Modifikasi dari Program Sebelumnya

Ini adalah versi modifikasi dari program sebelumnya. Program ini menggunakan coba-kecuali untuk mencetak pesan kesalahan ketika sesuatu yang aneh terjadi seperti file sumber yang dimasukkan oleh pengguna tidak ada

End= digunakan untuk melewati penyisipan baris baru menggunakan print(). Program ini juga menampilkan konten yang disalin jika pengguna memasukkan y sebagai pilihan

print("Enter Source File's Name: ", end="")
sfile = input()

try:
    filehandle = open(sfile, "r")

    print("Enter Target File's Name: ", end="")
    tfile = input()
    texts = filehandle.readlines()
    filehandle.close()

    try:
        filehandle = open(tfile, "w")

        for s in texts:
            filehandle.write(s)
        filehandle.close()

        print("\nContent of \"" +sfile+ "\" gets Copied to \"" +tfile+ "\" Successfully!")
        print("\nWant to Display the Content of \"" +tfile+ "\" (y/n) ? ", end="")
        chk = input()
        if chk.lower()=='y':
            try:
                filehandle = open(tfile, "r")
                contents = filehandle.readlines()
                for s in contents:
                    print(s, end="")
                filehandle.close()
                print()
            except IOError:
                print("\nError occurred while opening the file!")

    except IOError:
        print("\nError occurred while opening/creating the file!")

except IOError:
    print("\nThe file doesn't exist!")
_

Ini adalah contoh yang dijalankan dengan input pengguna, pemecah kode. txt (nama file sumber), file. txt (nama file target), dan y (pilihan untuk melihat isinya)

Bagaimana cara menulis program Python untuk menyalin konten file ke file lain?

Program Python untuk Menyalin Satu File ke File Lain .
Buka satu file bernama test. txt dalam mode baca
Buka file lain keluar. txt dalam mode tulis
Baca setiap baris dari file input dan tuliskan ke dalam file output

Bagaimana cara mentransfer data dari satu file ke file lainnya dengan Python?

Cara cepat untuk memindahkan file dari satu tempat ke tempat lain menggunakan shutil. bergerak() seperti yang ditunjukkan. .
impor shutil. shutil. pindah('old_directory/test_file. txt', 'direktori_baru/file_tes. txt').
impor shutil. shutil. pindahkan(jalur_lama, jalur_baru).
impor os. os. .
impor os. os. .
impor pathlib. pathlib

Bagaimana cara menyalin konten dari satu file ke file lainnya?

Anda perlu menggunakan perintah cp . Ini digunakan untuk menyalin file dan direktori. Salinan menjadi independen dari aslinya. Setiap perubahan selanjutnya dalam satu tidak akan mempengaruhi yang lain.

Bagaimana Anda menulis dan menyalin file dengan Python?

Langkah-Langkah Menyalin File dengan Python .
Temukan jalur file. Kami dapat menyalin file menggunakan jalur relatif dan jalur absolut. .
Gunakan shutil. salin() fungsi. .
Gunakan os. listdir() dan shutil copy() berfungsi untuk menyalin semua file. .
Gunakan fungsi copytree() untuk menyalin seluruh direktori