Python file.write вставляет непреднамеренные специальные символы - PullRequest
0 голосов
/ 07 ноября 2019

Коды на скриншоте ниже делают простую замену строки файла на основе регулярных выражений, заменяя два символа табуляции в исходном текстовом файле на «TT» в целевом файле. Замена работает нормально, но по какой-то причине эта операция добавляет в файл странные специальные символы (знак вопроса в ромбе).

Как этого избежать?

unintended special characters in the output

1 Ответ

1 голос
/ 07 ноября 2019

Из документации file.truncate:

Текущая позиция файла не изменилась.

Это означает, что система, вероятно, замениластарое содержимое файла с нулевыми байтами. Вы должны f.seek(0) после усечения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...