2013-11-12 9 views
5

Я пытаюсь обновить последнюю строку в консоли PyCharm. Скажем, я печатаю a, а затем я хочу изменить его на c. Однако я сталкиваюсь со следующей проблемой. Когда я бегу:' b' не печатает backspace в консоли PyCharm

print 'a\bc' 

печатает

a c 

пока желаемый результат (который также является то, что я вижу в консоли Windows) является:

c 

Есть ли способ переместить курсор обратно в консоль PyCharm? или, возможно, удалить всю строку?

+0

HTTP : //stackoverflow.com/questions/3732928/how-to-remove-lines-from-stdout-in-python –

+0

Непонятно, чего вы пытаетесь достичь. Пожалуйста, объясните более подробно, что вы подразумеваете под «переместить курсор обратно в консоль» и «удалить всю строку»? –

+0

@ sk4x0r, я не вижу, как это помогает мне. – Yariv

ответ

3

Это известная ошибка: http://youtrack.jetbrains.com/issue/PY-11300

Если вы заботитесь об этом, пожалуйста, получить счет на багтрекере и загрузить ошибку, чтобы придать ему больше внимания.

4

Это не ошибка, это ограничение интерактивной консоли, найденной как в PyCharm, так и в оболочке IDLE.

При использовании командной строки окон, или Линукс оболочки - \b символа интерпретируются как забой и реализуется, как это разбираемое - Тем не менее, в интерактивной консоли PyCharm и незанят \b характера и многие другие отключен, и вместо этого вы просто получаете представление ASCII этого символа (в большинстве случаев это пробел).

+0

Так есть ли обходной путь для перезаписи последней строки? – Yariv

+0

Не в интерактивной оболочке. –

1

Работы \r. Я знаю, что это ASCII возврат каретки, но я использую это в качестве обходного

print("\ra") 
print("\rc") 

даст в с в консоли

Кстати, забой является символов ASCII

Смежные вопросы