Сообщить об ошибке.

Метод file.truncate() в Python, усекает размер файла

Ограничить размер записываемого файла

Синтаксис:

file.truncate([size])

Параметры:

Возвращаемое значение:

Описание:

Метод файла file.truncate() усекает размер файла. Если указан необязательный аргумент size, файл усекается до этого (максимально) размера.

По умолчанию size равен текущей позиции указателя чтения/записи файла. Обратите внимание, что если указанный размер size превышает текущий размер записанного файла, результат будет зависеть от платформы.

Примечание. Этот метод не будет работать, если файл открыт в режиме только для чтения.

Примеры ограничения размера файла:

>>> text = 'This is 1st line\nThis is 2nd line\nThis is 3rd line\n'
>>> fp = open('foo.txt', 'w+')
>>> fp.write(text)
# 51

# Ограничиваем размер файла до 
# 34 байт это 2 строчки
>>> fp.truncate(34)
# 34

# сбрасываем буфер в файл
>>> fp.flush()
# указатель чтения/записи в начало файла
>>> fp.seek(0)
# 0

# пробуем читать
>>> fp.readline()
'This is 1st line\n'
>>> fp.readline()
'This is 2nd line\n'
>>> fp.readline()
''

>>> fp.close()

Внимание! Функцию open() предпочтительнее использовать с оператором контекстного менеджера with. При использовании оператора with файл закрывать не нужно:

text = 'This is 1st line\nThis is 2nd line\nThis is 3rd line\n'

# пишем
with open('foo.txt', 'w') as fp:
    fp.write(text)
    # Ограничиваем размер файла до 
    # 34 байт это 2 строчки
    fp.truncate(34)
    # сбрасываем буфер в файл
    fp.flush()

#51
#34

# читаем, что получилось
with open('foo.txt', 'r') as fp:
    for line in fp:
        print(line)

# This is 1st line
# This is 2nd line