Думайте о работе с файлами как о двух указателях: один - это переменная для самого файла, а второй - как указатель на то место в файле, в котором вы сейчас находитесь.
Сначала target.truncate
файл, чтобы очистить содержимое, указатель находится на первом символе в файле.
Затем вы даете 3 target.write
команд, на которые указатель будет перемещаться в конец каждой строки по завершении этой команды.
Наконец, вы пытаетесь target.read
.В этот момент курсор находится в конце файла, и с этой точки нечего читать, двигаясь вперед.Если вы хотите прочитать содержимое файла, то вам нужно будет либо закрыть и снова открыть файл, либо выполнить target.seek(0)
, чтобы переместить указатель на начало файла на 0-й байт передвы на самом деле исполняете target.read
.