1
Mutoo 2013-04-24 16:35:54 +08:00
你可以用 terminal codes 来移动光标位置 http://wiki.bash-hackers.org/scripting/terminalcodes
|
3
Mutoo 2013-04-25 16:12:18 +08:00
@hhrmatata 你想在文件流中 carriage return,还是在终端中 carriage return?终端的话,\r是在各个平台上是通用的。
况且os.linesep只针对换行,而且对文件的意义比较大。 terminal codes 可以这样用 print 'It is \033[31mnot\033[39m intelligent to use \033[32mhardcoded ANSI\033[39m codes!' It is not intelligent to use hardcoded ANSI codes! |
4
Mutoo 2013-04-25 16:18:51 +08:00
@hhrmatata 定位输出 print("\033[6;3HHello")
http://rosettacode.org/wiki/Terminal_control/Cursor_positioning#Python |
5
Mutoo 2013-04-25 16:23:08 +08:00
@hhrmatata print("Hello\033[80DWorld") # \033[80D 向后移动80列(相当于\r)
http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x361.html |
6
hhrmatata OP @Mutoo 我想在终端中用,\r不是各平台通用吧? \r在Mac OS 中表示换行且返回到下一行的最开始位置,相当于linux 里的 \n 的效果。
表示terminal_control有点过于复杂。 我的目的很简单,下载的时候在终端同一行显示下载进度,后一个进度覆盖前面一个进度。 |
7
Mutoo 2013-04-26 13:46:11 +08:00 1
@hhrmatata 你要的这种效果通常是用\b实现的。参考 #Spinning loading bar#
http://www.stealth-x.com/articles/python-code-tricks.php |