我在linux系统上用Python3玩转义符。你知道吗
通过使用sys.stdout.write('\x1b[<char>')
,我可以执行各种操作,例如将光标移动到特定位置([<row>;<column>H
),
更改字体颜色([<number>m
)等。你知道吗
这三个序列处理行擦除:
[ K = erase from current cursor position (ccp) to the end of the line
[ 1K = erase from ccp to the start of the line
[ 2K = erase whole line
这很好,但是删除一段特定的行,比如从第3列到第7列,怎么样?你知道吗
我查看了man console codes
,但除了上面的3个序列之外,我找不到任何东西。有办法吗?你知道吗
--更新-- 多亏了下面joel goldstick的建议,我想我找到了一个解决办法:
import sys
sys.stdout.write('\x1b[2;1H') #moves the cursor to r 2, c 1 and sets home
sys.stdout.write('01234567890123456789') #prints 20 characters
sys.stdout.write('\x1b[2;5H') #place the cursor to r 2, c 5
sys.stdout.write(' ') # write 5 spaces to "delete" from c5 to c10
目前没有回答
相关问题 更多 >
编程相关推荐