- режим rb
- режим r
- режим r с поиском различных байтов смещения
Код: Выделить всё
with open("small_file.txt", "w") as f:
f.seek(2)
f.write("Content")
with open("small_file.txt", "rb") as f:
content = f.read()
print(f"START|{content}|END")
Вывод: START|b'\x00\x00Content'|END (здесь нет ничего удивительного)
Если я изменю rb на r, я получу START| Content|END.
Вопрос 1. Каковы основные концепции, объясняющие поведение отсутствия чтения (или чтения, но не печати?) нулевых байтов? это указано в какой-либо документации?
Потом я добавил поиск перед чтением
Код: Выделить всё
with open("small_file.txt", "w") as f:
f.seek(2)
f.write("Content")
with open("small_file.txt", "r") as f:
f.seek(3)
content = f.read()
print(f"START|{content}|END")
Я вижу, что поведение может быть любым
Подробнее здесь: https://stackoverflow.com/questions/787 ... -bytes-and