Недостающие символы при печати строки в терминале - PullRequest
2 голосов
/ 19 сентября 2019

Я печатаю строку в терминал (iTerm в OSX).

Мой код выглядит так:

print("1234567890")
print(summary)
print("XX" + summary)
print(ord(summary[0]), summary[0])
print(ord(summary[1]), summary[1])

Вывод выглядит так:

terminal output

Обратите внимание, как удаляются первые два символа из любого оператора печати, содержащего эту строку summary.Я распечатал первые два символа и их коды ASCII, и они - то, что я ожидал (E и x).

Печать строк никогда не была проблемой прежде.

Я не могу привести пример строки summary, но если я запускаю

print(repr(summary))

, это показывает, что в конце есть \r \r.Может ли это повлиять на первых двух персонажей?Что я мог посмотреть, чтобы начать отладку этого?

1 Ответ

0 голосов
/ 19 сентября 2019
print(repr(summary)

показывает:

'Example from ma....\r \r '

В iTerm в OSX первый \r возвращается в начало строки, последующий пробел заменяет E.Я не совсем понимаю, как стирается x, так как я думал бы, что следующий \r снова вернется к началу строки.

Тем не менее, этого было достаточно, чтобы решить проблему.

...