Panduan Penyenaraian bagi Pemula: Membaca Fail di Python

Hello there, future Python maestros! ? Today, we're going to embark on an exciting journey into the world of file handling in Python. As your friendly neighborhood computer teacher, I'm here to guide you through the ins and outs of reading files. Don't worry if you've never written a line of code before – we'll start from scratch and build our way up. So, grab your favorite beverage, get comfy, and let's dive in!

Python - Read Files

Membuka Fail untuk Membaca

Sebelum kita boleh membaca fail, kita perlu untuk membukanya. Anggap ini sebagai menggenting pintu rumah sebelum kita masuk. Dalam Python, kita menggunakan fungsi open() untuk melakukan ini. Mari kita mulakan dengan contoh yang simple:

file = open("hello.txt", "r")

Berikut adalah apa yang berlaku:

  • open() adalah fungsi yang kita gunakan untuk membuka fail
  • "hello.txt" adalah nama fail yang kita ingin buka
  • "r" bermaksud kita membuka fail dalam mod baca

Ingat untuk menutup fail jika anda telah selesai:

file.close()

Membaca Fail Menggunakan Method read()

Sekarang yang kita telah membuka fail kita, mari kita baca kandungannya. Method read() adalah seperti penyedut kotoran – ia menyerap semua kandungan sekaligus. Ini adalah cara kita menggunakannya:

file = open("hello.txt", "r")
content = file.read()
print(content)
file.close()

Kod ini akan mencetak kesemua kandungan di atas fail. Ia adalah mudah, tetapi berhati-hati dengan fail yang besar – mereka mungkin akan mengambil semua ingatan komputer anda!

Membaca Fail Menggunakan Method readline()

Bila-bila masa, kita mahu membaca fail kita baris demi baris, seperti menikmati setiap rakis makanan yang sedap. Itu di mana readline() menjadi berguna:

file = open("hello.txt", "r")
line = file.readline()
while line:
print(line, end='')
line = file.readline()
file.close()

Kod ini membaca dan mencetak setiap baris fail. end='' di atas fungsi print() mencegah penambahan baris baru ekstra, kerana readline() menyimpan karakter baris baru.

Membaca Fail Menggunakan Method readlines()

Apa jika kita mahu semua baris, tetapi sebagai senarai? Masukkan readlines():

file = open("hello.txt", "r")
lines = file.readlines()
for line in lines:
print(line, end='')
file.close()

Method ini mengembalikan senarai di mana setiap elemen adalah baris dari fail. Ia seperti mendapat rak coklat, di mana setiap coklat adalah baris teks!

Menggunakan Perintah "with"

Sekarang, mari kita bercakap tentang trik yang kemas Python tawarkan – perintah with. Ia adalah seperti memiliki rakannya yang bertanggungjawab yang sentiasa ingat untuk menutup pintu (fail) setelah meninggalkan:

with open("hello.txt", "r") as file:
content = file.read()
print(content)

Perintah with secara automatik akan menutup fail untuk kita apabila kita selesai. Tiada lagi untuk melupakan untuk memanggil close()!

Membaca Fail dalam Mod Binari

Bila-bila masa, kita perlu membaca fail yang bukan hanya teks, seperti gambar atau executable. Untuk ini, kita gunakan mod binari:

with open("image.jpg", "rb") as file:
binary_data = file.read()
print(len(binary_data), "bytes dibaca")

Mod "rb" membuka fail dalam mod baca binari. Ia adalah seperti memakai kaca mata khusus untuk melihat angka satu dan nol!

Membaca Data Integer Dari Fail

Ketika kita ada fail dengan nombor, satu per baris. Ini adalah cara kita boleh membacanya dan gunakannya sebagai integer:

with open("numbers.txt", "r") as file:
numbers = [int(line.strip()) for line in file]
print("Jumlah nombor:", sum(numbers))

Kod ini membaca setiap baris, mengubahnya ke integer, dan menambahkannya ke senarai. Kemudian kita boleh melakukan matematik dengan nombor kita!

Membaca Data Pecahan Dari Fail

Sebagai dengan integer, kita boleh membaca nombor pecahan:

with open("measurements.txt", "r") as file:
measurements = [float(line.strip()) for line in file]
print("Purata pengukuran:", sum(measurements) / len(measurements))

Kali ini, kita menggunakan float() bukannya int() untuk mengubah strings kita ke nombor rakaman.

Membaca dan Menulis ke Fail Menggunakan Mod "r+"

Bila-bila masa kita mahu membaca dan menulis ke fail yang sama. Mod "r+" membenarkan kita untuk melakukan itu:

with open("journal.txt", "r+") as file:
content = file.read()
file.write("\nEntri baru: Hari ini saya belajar tentang penanganan fail di Python!")
file.seek(0)
updated_content = file.read()
print(updated_content)

Kod ini membaca fail, menambah baris baru, kemudian membacanya lagi untuk menunjukkan perubahan.

Membaca dan Menulis ke Fail Secara Simultan di Python

Ini adalah trik: kita boleh menggunakan dua objek fail untuk membaca dan menulis secara simultan:

with open("original.txt", "r") as read_file, open("copy.txt", "w") as write_file:
for line in read_file:
write_file.write(line.upper())

Kod ini membaca dari satu fail dan menulis versi huruf besar ke fail lain. Ia adalah seperti memiliki mesin rakam yang untuk menyatakan!

Membaca Fail dari Offset Khusus

Bila-bila masa kita mahu mula membaca dari titik khusus di atas fail. Kita boleh melakukan ini dengan method seek():

with open("long_text.txt", "r") as file:
file.seek(50)  # Pindah ke byte ke-50
partial_content = file.read(100)  # Baca 100 byte dari titik itu
print(partial_content)

Ini adalah seperti meletakkan tanda buku di atas buku dan mula membaca dari situ.

Sekarang, mari kita ringkaskan semua method yang kita telah pelajari di atas atas atas rakam yang mudah dipakai:

Method Keterangan
open() Membuka fail
read() Membaca keseluruhan kandungan fail
readline() Membaca satu baris
readlines() Membaca semua baris ke atas senarai
with perintah Secara automatik menutup fail
"rb" mod Membuka fail dalam mod baca binari
int() / float() Mengubah string ke nombor
"r+" mod Membuka fail untuk membaca dan menulis
seek() Pindah ke kedudukan khusus di atas fail

Dan itu semua, rakannya! Anda baru saja belajar dasar-dasar membaca fail di Python. Ingat, latihan membuat perfection, jadi cubalah yang ini di atas fail anda sendiri. Siapa tahu, anda mungkin menjadi penyihir penanganan fail Python berikutnya! Happy coding! ?✨

Credits: Image by storyset