Membaca data daripada fail
Apabila membaca fail teks, aliran bait memasuki input program secara berurutan satu demi satu, jadi fail menyediakan akses berurutan kepada data. Iaitu, jika kita perlu membaca nilai ke-10 daripada fail, kita mesti membaca 9 sebelumnya.
Membaca satu baris fail membolehkan kaedah
readline()
dilaksanakan. Kaedah ini dipanggil pada pembolehubah fail.
Fin = buka("input.txt")
s = Fin.readline()
Pelbagai kaedah boleh digunakan pada rentetan baca, sama seperti yang digunakan semasa membaca dari papan kekunci (split()
, map()
, dsb.). Sebagai contoh, jika terdapat dua nombor yang dipisahkan oleh ruang dalam baris fail, maka anda boleh mengiranya seperti berikut:
Fin = buka("input.txt")
s = Fin.readline().split() # split line pada ruang s = ["2007", "2021"]
a, b = peta(int, s) # gunakan kaedah int() pada semua elemen senarai s,
# iaitu, tukar rentetan aksara kepada nombor
# a, b = int(s[0], s[1]) # ini sama seperti baris di atas
# a, b = [int(x) untuk x dalam s] # sama seperti penjana
Kaedah read()
membaca keseluruhan kandungan fail dan mengembalikan rentetan yang mungkin mengandungi aksara '\n
'. Jika parameter integer dihantar ke kaedah read()
, tidak lebih daripada bilangan aksara yang ditentukan akan dibaca. Contohnya, anda boleh membaca bait demi bait fail menggunakan kaedah read(1)
.
.
Apabila fail dibuka, penunjuk yang menentukan lokasi semasa dalam fail ditetapkan pada permulaan fail dan, apabila dibaca, dialihkan ke kedudukan berikutan data dibaca. Semasa menulis, penunjuk dialihkan ke kedudukan bebas seterusnya.