python -\b 字符的反义词是什么,即一种不可删除的空格?

标签 python string character ascii tty

据我所知,\b 控制字符不应该删除前一个字符(这也是 \b + del 字符),所以像这样的工作:

>>> print 'pototo\b\b\ba'
potato

是否有向前移动的字符,如非覆盖空间?预期用法类似于(我将此字符称为 \x):

>>> print 'pototo\r\x\x\xa'
potato

显然,在打字机上,普通空格就可以做到这一点。但是在终端上,空格会删除下面的字母。

我的用例是一种预期匹配的场景,我想回顾性地返回并用颜色装饰字符流输出的某些部分,我想知道是否保留缓存是否需要内存中整个当前行的行。

最佳答案

如果可以依靠ANSI escape code sequences在您的终端 (*) 中,您可以使用光标前移 (CUF) 序列“CSI n C”,如下所示:

print "Pototo\b\b\ba\x1b[2Ces"

并得到:

Potatoes

CSI为\x1b[,用于开始ANSI转义码序列。 2是向右移动的字符数,C是向右移动的命令。


(*) 一个很好的近似是您可以依赖 ANSI 代码,除非您需要支持 Windows。

关于python -\b 字符的反义词是什么,即一种不可删除的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13799180/

相关文章:

python - 无论环境如何,在 python 中打印 unicode 字符串

r - 用cat()和paste()串联字符串之间有什么区别?

python - 如何替换 r'\xb 0' with r'\260'

python - Pandas - 将括号中带有值的文本拆分为多列

python - 在哪里定义 Google glass glasswares 的数据库模型

java - 在Java中追加字符串并添加 "..."

java - 当条件设置为 false 时,While 循环执行最后一次

c# - 在连接字符串密码中使用非 ASCII 字符

java - 我如何替换replaceAll中符号后的字母/数字

python - 我无法进行基本登录 - 找不到对象