Daftar Referensi Python
seek() memindahkan posisi baca/tulis sebuah stream ke offset tertentu.
Sintaks
posisi = file.seek(offset, whence=0)
Parameter
| Parameter | Wajib? | Keterangan |
|---|---|---|
offset |
Ya | Jarak perpindahan |
whence |
Tidak | 0 dari awal, 1 dari posisi kini, 2 dari akhir |
Nilai balik: posisi absolut baru.
Contoh
from io import StringIO
file = StringIO("ABCDEFGHIJ")
file.seek(4)
print(file.read(3))
Output:
EFG
Contoh Lainnya
Kembali ke awal
from io import StringIO
file = StringIO("Python")
print(file.read(2))
file.seek(0)
print(file.read())
Output:
Py
Python
Menghitung dari akhir pada stream biner
from io import BytesIO
file = BytesIO(b"ABCDEFGHIJ")
file.seek(-3, 2)
print(file.read())
Output:
b'HIJ'
Menimpa data dari posisi tertentu
from io import BytesIO
file = BytesIO(b"ABCDEF")
file.seek(2)
file.write(b"XY")
print(file.getvalue())
Output:
b'ABXYEF'
Kesalahan Umum
- Offset negatif dari awal menghasilkan error.
- Pada file teks, perpindahan relatif selain nilai tertentu dibatasi.
- Stream yang tidak seekable dapat menghasilkan
OSError.
Pelajari Lebih Lanjut
- Referensi: tell() · read() · truncate()
- Buku Belajar Python untuk Pemula: Bab 14
