Junior
Pythonдогу `tell` жана `seek` методдору эмне кылат?
sobes.tech AI
AIден жооп
tell() ыкмасы файл көрсөткүчүнүн учурдагы ордун байттарда кайтарат. seek(offset, origin) ыкмасы файл көрсөткүчүн белгиленген орундун ордуна которот.
seek() ыкмасынын параметрлери:
offset: Котормо үчүн байттардын саны.origin: Котормонун негизги чекити. Мүмкүн болгон маанилер:- 0 (же
io.SEEK_SET): Файлдын башы (өзүнчө) - 1 (же
io.SEEK_CUR): Файл көрсөткүчүнүн учурдагы орду - 2 (же
io.SEEK_END): Файлдын аягы
- 0 (же
Колдонуу мисалы:
# Мисал үчүн файл түзөбүз
with open("example.txt", "w") as f:
f.write("Hello, world!")
# Файлды окуу үчүн ачабыз
with open("example.txt", "r") as f:
# Учурдагы орду - файлдын башы (0)
print(f.tell()) # 0 чыгат
# 5 белгини окуйбуз
content = f.read(5)
print(content) # Hello чыгат
# Окуудан кийин учурдагы орду (5 байт)
print(f.tell()) # 5 чыгат
# Файлдын башынан 3 байтка жылдырабыз
f.seek(3, 0)
print(f.tell()) # 3 чыгат
# Калганын окуйбуз
content = f.read()
print(content) # lo, world! чыгат
# Учурдагы орду - файлдын аягы
print(f.tell()) # 13 чыгат
# Файлдын аягынан 5 байт артка жылдырабыз
f.seek(-5, 2)
print(f.tell()) # 8 чыгат
# Окууну улантабыз
content = f.read()
print(content) # world! чыгат
Маанилүү: Текст режиминде ('r', 'w', 'a') seek() жана tell() туура иштебей калышы мүмкүн, эгерде коддолбогон маалыматтар же атайын белгилер колдонулса. Так жайгаштыруу үчүн бинардык режим ('rb', 'wb', 'ab') колдонуу сунушталат.