Bagaimana Anda mengganti konten file dengan python?

Bagaimana cara Menimpa File dengan Python?

  • 19 Oktober 2022
  • Baca 7 Menit

Bagaimana Anda mengganti konten file dengan python?

Penanganan File merupakan komponen penting dalam pemrograman. File digunakan untuk menyimpan data secara permanen. Python menyediakan metode untuk menyimpan data program dan melakukan operasi di dalamnya. Membuka, menulis, membaca, menutup, menimpa, dan menambahkan file adalah beberapa contoh dari operasi ini

Pada artikel ini, Anda akan belajar tentang berbagai operasi penanganan file, berfokus pada cara menimpa file dengan Python

Sebelum melanjutkan, mari kita lihat fundamentalnya

Apa itu File dengan Python?

File adalah kumpulan data yang disimpan sebagai unit pada disk. Itu diidentifikasi dengan nama file dan ekstensi file. Semuanya disimpan dalam bentuk file, baik itu excel sheet, dokumen, atau lainnya

Kami biasanya menangani dua jenis File dengan Python

  1. File Biner. Seperti namanya, file ini menyimpan data biner (seperti file audio, gambar, dan video). Ini tidak dapat dibaca manusia dan dibuat untuk interpretasi mesin
  2. Berkas Teks. File-file ini menyimpan data dalam bentuk yang dapat dibaca manusia, setiap baris baru diakhiri dengan karakter baris baru (\n). Ini digunakan untuk menyimpan 'data karakter'

Pada artikel ini, kita akan fokus pada file teks

 

Anda pasti bertanya-tanya, apa perlunya Files in Python?

Perlu File dengan Python

Berikut adalah beberapa alasan menyoroti perlunya file saat pemrograman

  1. Menyimpan data dalam file akan mempertahankannya bahkan setelah penghentian program. Oleh karena itu, ini dapat menyimpan input, perhitungan, atau output, sesuai perintah
  2. Menggunakan file untuk mengekstrak data (input) saat menangani data dalam jumlah besar, menghemat waktu
  3. Sangat mudah untuk memindahkan data komputasi melalui file

Sekarang, setelah Anda mempelajari tentang file dan mengapa kami membutuhkannya, mari kita lihat Operasi File

Operasi File dengan Python

Operasi file adalah operasi yang dapat dilakukan pada file. Ini termasuk operasi yang dilakukan oleh pengguna menggunakan perintah Python (atau bahasa pemrograman lainnya)

Beberapa operasi file mendasar tercantum di bawah ini

  1. Membuka. Operasi pertama dan terpenting pada file adalah membukanya. Saat Anda membuat file, Anda harus membukanya untuk melakukan operasi pemrosesan file lebih lanjut. Python menawarkan fungsi open() bawaan untuk membuka file. Fungsi open() mengembalikan objek file, juga dikenal sebagai pegangan, untuk melakukan operasi lebih lanjut yang sesuai
  2. Membaca. Seperti namanya, operasi ini membaca isi dari sebuah file. Python menyediakan berbagai metode untuk membaca file, yang paling umum adalah fungsi read(). Perhatikan bahwa untuk membaca file, Anda harus membuka file itu dalam 'mode baca'
  3. Menulis. Operasi ini digunakan untuk menulis informasi ke dalam file. Ada berbagai mode yang dapat digunakan untuk operasi tulis (kami akan segera membahas mode yang berbeda)
  4. Menutup. Setelah menyelesaikan semua prosedur, file harus ditutup untuk menyimpan data. Operasi ini membebaskan semua sumber daya yang digunakan oleh file saat memproses. Python memiliki metode close() untuk menutup file

Anda mungkin bertanya-tanya mengapa Anda perlu menutup file secara manual. Bukankah Pengumpul Sampah Python mampu melakukan tugas itu?

Pengumpul Sampah membersihkan benda-benda yang tidak direferensikan. Anda tidak boleh mengandalkan pengumpul sampah untuk menutup file. Ini dapat mengakibatkan hilangnya data atau kesalahan. Untuk mempelajari lebih lanjut tentang Pengumpul Sampah, lihat Menghapus Variabel dengan Python

Lihatlah di bawah ini untuk beberapa operasi file lainnya

Bagaimana Anda mengganti konten file dengan python?

Mode Akses File dengan Python

Ini menentukan bagaimana file akan digunakan setelah dibuka. Mode akses file mengatur jenis aktivitas yang dapat dilakukan pada file. Lebih khusus lagi, mereka menentukan posisi "penangan file"

File Handler seperti penunjuk yang menunjukkan posisi dari mana data harus dibaca atau ditulis dalam file. Anda juga dapat menganggap itu adalah kursor, untuk pemahaman yang lebih baik

Mode Akses File penting untuk dipelajari karena memainkan peran utama saat menangani file. Mereka memberi tahu aksesibilitas ke file saat melakukan operasi file apa pun. Jadi, sebelum melanjutkan untuk menimpa file dengan Python, mari kita memahami mode akses file dengan lebih baik di Python

Python memiliki enam Mode Akses File. Mereka adalah sebagai berikut

Sr. Tidak

Modus Akses

(Operasi Berkas)

Deskripsi1. Hanya Baca ('r')

Modus default. Membuka file dengan Python untuk dibaca. (Meningkatkan kesalahan I\O jika file tidak ada. )

2. Baca & Tulis ('r+')Dengan ini, Anda dapat membaca serta menulis di file. 3. Write Only ('w') Digunakan untuk menulis dalam file. (Ini membuat file baru jika file tidak ada). Ini menimpa file yang sudah ada. 4. Tulis & Baca ('w+')Digunakan untuk menulis serta membaca file yang dibuka di Python5. Tambahkan Saja ('a')Ini digunakan untuk memasukkan data di akhir file yang dibuka. Di sini, data yang ada tidak akan terpotong. 6. Tambah dan Baca ('a+')Ini digunakan untuk membuka file untuk menulis (di akhir) dan membaca

Metode akses disebutkan bersama dengan nama file dalam fungsi open()

Sintaks untuk membuka file adalah

f = buka ("FilePath", "mode akses")

File tersebut bisa berada di direktori yang sama atau berbeda. Akibatnya, Anda harus memperhitungkannya saat menentukan lokasi file. Itu bisa berupa Jalur Absolut (dimulai dari direktori akar) atau Jalur Relatif (terletak di folder yang sama)

Mari kita ambil contoh cara membuka file dengan Python

(Catatan. Saya telah membuat file "favtutor. txt" di direktori yang sama dengan file Python saya (temp. py))

# Program: Overwriting a file in Python
# my file name: favtutor
# file type: text ''' file content: This is a favtutor article. Article topic: Overwrite files in Python ''' # opening the file in read mode f = open("favtutor.txt", "r") # f is the File Handler # check the file is open # calling read() function using file handler "f" print(f.read())

Perhatikan bahwa penangan file 'f' memanggil metode read() untuk membaca (mendapatkan) baris dari file

 

Keluaran

This is a favtutor article.
Article topic: Overwrite files in Python
_

 

Anda akan melihat bahwa file "favtutor. txt" dibuat sebelum kita memanggil fungsi open(). Mari coba buka file lain (tidak ada) dengan Python

# Program: Overwriting a file in Python
# my file name: abc
# opening the file in read mode f = open("abc.txt", "r") # f is the File Handler # check the file is open # calling read() function using file handler "f" print(f.read())

 

Keluaran

Traceback (most recent call last):
  File ".\temp.py", line 4, in <module>
    f = open("abc.txt", "r")
FileNotFoundError: [Errno 2] No such file or directory: 'abc.txt'

 

Ini menghasilkan kesalahan yang menunjukkan tidak adanya file bernama 'abc. txt'

Coba buka file menggunakan mode "hanya tulis". Anda akan melihat perbedaan mendasar antara mode read-only dan mode write-only

Sementara yang pertama menghasilkan kesalahan pada file yang tidak ada, yang terakhir akan membuat file dengan perintah

Sekarang setelah kita mempelajari beberapa dasar Penanganan File dengan Python, mari beralih ke operasi file - "menimpa" file dengan Python

Apa itu Menimpa File dengan Python?

Timpa adalah proses mengganti data lama dengan data baru. Ini melibatkan pengubahan data yang telah ditulis sebelumnya dalam sebuah file. Menimpa file dapat dipahami sebagai menghapus file yang ada dan menggantinya dengan file baru dengan nama yang sama

Anda tidak boleh bingung 'menimpa' dan 'menghapus' file dengan Python dengan operasi yang sama

File yang dihapus dapat dipulihkan dari memori komputer, namun file yang ditimpa tidak bisa. Hal ini terjadi karena file yang ditimpa menggantikan konten asli dari file tersebut, menyebabkan file tersebut berubah secara fisik. Akibatnya, pengambilan data dalam keadaan ini memiliki kemungkinan yang lebih kecil

Lihat gambar di bawah untuk pemahaman yang lebih baik tentang Menimpa File dengan Python

Bagaimana Anda mengganti konten file dengan python?

Sebelum beralih ke cara menimpa file dengan Python, ingatlah bahwa terkadang "menimpa file dengan Python" dianggap mirip dengan "mengganti beberapa baris dalam file". Tetapi berbeda dengan menambahkan data dalam file

Bagaimana cara Menimpa File dengan Python?

Kebutuhan untuk menimpa sering terjadi ketika Anda perlu mengubah file dengan Python sepenuhnya. Metode di bawah berisi keduanya, metode untuk menimpa file lengkap, serta metode untuk menimpa beberapa baris dengan Python

Jadi, mari kita mulai

01) Menggunakan Mode Akses File hanya tulis ('w').

Mode Akses File 'hanya tulis' ('w') memungkinkan Anda untuk hanya menulis dalam file. (Ingatlah untuk menentukan mode akses file dalam fungsi open(). ) Python menyertakan fungsi tulis untuk menulis ke file

Jika file berisi konten apa pun, itu akan ditimpa sepenuhnya oleh apa pun yang Anda tulis di file yang dibuka. Semua data sebelumnya dalam file akan hilang, dan dalam banyak kasus tidak dapat dipulihkan saat Anda menimpa file menggunakan metode ini

Mari kita ambil contoh untuk memahaminya dengan lebih baik

Pertimbangkan untuk menimpa file bernama favtutor. txt. File itu harus dibuka dalam mode tulis dan ditugaskan ke file handler 'f. ' File handler 'f' dapat digunakan untuk melakukan operasi write()

Berikut snapshot dari file yang sudah ada

Bagaimana Anda mengganti konten file dengan python?

Menimpa file dengan Python

# Program: Overwriting a file in Python
# file name: favtutor.txt
""" file content: This is a favtutor article. Article topic: Overwrite files in Python. """ # opening the file in write only mode f = open("favtutor.txt", "w") # f is the File Handler f.write("Overwriting a file in Python.")
_

 

Karena kita tidak dapat membaca file (karena dalam mode tulis saja), berikut cuplikan file setelah ditimpa-

Keluaran

Bagaimana Anda mengganti konten file dengan python?

Menggunakan mode akses tulis saja adalah cara termudah untuk menimpa file dengan Python

02) Menggunakan os. hapus() fungsi

Ini adalah metode lain untuk menimpa file lengkap dengan Python. Ini termasuk menghapus file yang ada dan membuat file baru dengan kredensial yang sama. Meskipun secara tidak langsung menimpa file, tidak disarankan untuk sering menggunakan metode ini. Ini mungkin mengubah nomor inode file

Inode menyimpan informasi tentang file dan direktori (folder), seperti kepemilikan file, mode akses (baca, tulis, jalankan izin), dan jenis file. Setiap file terhubung dengan inode, yang dapat diidentifikasi oleh bilangan bulat yang dikenal sebagai nomor-i atau nomor inode

Perhatikan bahwa ini memerlukan pengimporan modul os

Mari kita coba menghapus file (abc. txt) dengan Python untuk menimpanya

# Program: Overwriting a file in Python
# import the os module
import os # deleting the file abc.txt os.remove("abc.txt")

 

Keluaran

Traceback (most recent call last):
  File ".\temp.py", line 5, in <module>
    os.remove("abc.txt")
FileNotFoundError: [WinError 2] The system cannot find the file specified: 'abc.txt'
_

 

File abc. txt tidak ada, oleh karena itu kami mengalami kesalahan saat mencoba menghapusnya. Sebelum menghapus file, Anda harus memeriksa apakah file tersebut ada atau tidak. Jika file tidak ada, itu akan menghasilkan kesalahan. Oleh karena itu, untuk memeriksa apakah file tersebut ada atau tidak, modul os memiliki os. jalur. ada() fungsi

(Lagi-lagi pada file yang tidak ada. ) Contoh

# Program: Overwriting a file in Python
# import the os module
import os # check whether the file exists if os.path.exists("abc.txt"): # delete the file os.remove("abc.txt") else: # if the file does not exist. print("File does not exists. File needs to be created.")

 

Keluaran

File does not exists. File needs to be created.
_

 

Blok if-else menyelamatkan kita dari kesalahan. Kita juga dapat membuka file menggunakan mode akses 'w+' atau 'w' di blok else. Mode ini membuat file baru jika file tersebut tidak ada

Sekarang, mari kita ambil contoh menimpa file yang ada di Python menggunakan os. hapus() fungsi

# Program: Overwriting a File in Python
# import the os module
import os

# check whether the file exists
if os.path.exists("favtutor.txt"):
    # delete the file
    os.remove("favtutor.txt")
else:
    # if the file does not exist.
    print("File does not exists. File needs to be created.")

# create/open the file
# using 'w+' for read & write
f = open("favtutor.txt", "w+")
f.write("Overwrite a file in Python.")

# close the file
f.close()

# To read the contains of the file
# open the file in read mode
f = open("favtutor.txt", "r")
print(f.read())
f.close()
_

 

Keluaran

This is a favtutor article.
Article topic: Overwrite files in Python
_0

 

Saya telah membuka file di bagian akhir untuk membaca konten file. Perhatikan bahwa Anda perlu menutup dan membuka file lagi untuk mengubah mode aksesnya

03) Menggunakan fungsi seek() dan truncate()

Metode ini dapat digunakan untuk menimpa file (sepenuhnya atau baris tertentu) dengan Python. Metode ini melibatkan dua fungsi

  1. Fungsi seek(). Fungsi ini mengatur handler (penunjuk) di awal file. Ini dipanggil untuk memastikan bahwa penangan tetap berada di awal file, oleh karena itu secara default disetel ke 0
  2. Fungsi truncate(). Fungsi ini menghapus data file

Saat memanggil fungsi seek() , Anda dapat menambahkan data Anda ke file menggunakan fungsi write() , lalu memotong file di bagian akhir

Contoh

This is a favtutor article.
Article topic: Overwrite files in Python
_1

 

Keluaran

This is a favtutor article.
Article topic: Overwrite files in Python
_2

 

Perhatikan bahwa file tersebut ditimpa oleh data baru

04) Menggunakan metode replace()

Metode ini datang dengan menimpa fase tertentu dalam file yang ada. Sebagian, metode menimpa file dengan Python ini melibatkan penggunaan mode 'hanya tulis'. Di sini, kami menyimpan data dalam variabel lain, membuat beberapa penggantian di dalamnya, menggunakan metode replace(). Variabel baru ini kemudian dipanggil untuk menimpa file

Contoh

This is a favtutor article.
Article topic: Overwrite files in Python
_3

Pertama, Anda perlu membaca file untuk menyimpan data dalam variabel lain (di sini, variabel bernama konten). Kemudian metode replace() diterapkan ke data yang disimpan. Metode ini memerlukan pencocokan urutan untuk mengganti data yang ada dengan yang lain.  

 

Keluaran

This is a favtutor article.
Article topic: Overwrite files in Python
_4

 

Perhatikan bagaimana kata "File" 'ditimpa' oleh "Data". Metode di atas juga menjawab pertanyaan - "Bagaimana cara mengganti string dalam file dengan Python?"

05) Menggunakan re. sub() fungsi

Ini adalah cara lain untuk menimpa file dengan Python. Ini mirip dengan mengganti data dalam file. Metode ini memerlukan fungsi sub() dari modul Regular Expression (re module). Ingatlah bahwa fungsi sub() mengembalikan sebuah string di mana string pengganti menggantikan semua kemunculan yang cocok dari pola yang diberikan. Oleh karena itu, ini juga mencocokkan karakter secara berurutan untuk menemukan kecocokan

Anda juga akan menemukan beberapa fungsi baru di sini

  1. Jalur(). Fungsi ini diimpor dari modul pathlib. Ini mengembalikan jalur direktori/file
  2. tulis_teks(). Fungsi ini membuka file untuk dibaca, menulis teks di dalamnya, dan menutup file
  3. baca_teks(). Fungsi ini membuka file, membacanya, dan menutupnya

Jadi, fungsi write_text() dan read_text() tidak perlu mendeklarasikan perintah untuk membuka atau menutup file secara terpisah

Mari kita ambil contoh untuk menimpa file dengan Python menggunakan modul re

This is a favtutor article.
Article topic: Overwrite files in Python
_5

 

Keluaran

This is a favtutor article.
Article topic: Overwrite files in Python
_6

 

Perhatikan bahwa data (string di sini) peka terhadap huruf besar-kecil. Karena fungsi sub() cocok dengan teks, fungsi ini hanya menimpa 'file' dan bukan 'File' pada contoh di atas

Kesimpulan

Pada artikel ini, kita telah berbicara tentang beberapa cara termudah untuk menimpa file dengan Python. Selain metode di atas, ada metode lain untuk menimpa file dengan Python

Itu membutuhkan relokasi file (katakanlah abc. txt) ke direktori yang memiliki file dengan nama yang sama (abc. txt, file yang akan ditimpa). Metode ini menggunakan modul shutil. Meskipun tidak disarankan, karena pada dasarnya mengganti file dengan yang lain dengan bantuan konvensi penamaan default di komputer

Meskipun saya kebanyakan menggunakan mode 'baca saja' dan 'tulis saja', Anda harus mencoba metode ini dengan mode akses file lainnya. Anda mungkin terkejut dengan hasilnya. Selamat Coding

Bagaimana Anda menimpa file teks yang ada di Python?

Untuk menimpa file, untuk menulis konten baru ke dalam file, kita harus membuka file kita dalam mode “w”, yaitu mode tulis. It will delete the existing content from a file first; then, we can write new content and save it.

Bagaimana cara mengubah konten file?

Buka file teks di Notepad. Klik Edit di bilah menu, lalu pilih Ganti di menu Edit. Setelah berada di jendela Cari dan Ganti, masukkan teks yang ingin Anda temukan dan teks yang ingin Anda gunakan sebagai pengganti. Lihat bagian kami menggunakan pencarian dan ganti dan opsi lanjutan untuk informasi dan bantuan lebih lanjut

Bagaimana Anda mengganti teks dengan Python?

Bagaimana caranya. .
old_text adalah parameter pertama yang dibutuhkan. ganti() menerima. Itu adalah karakter atau teks lama yang ingin Anda ganti. .
new_text adalah parameter kedua yang diperlukan. ganti() menerima. .
count adalah parameter ketiga opsional itu. ganti() menerima