Animation 命令行动画
我经常在命令提示符/shell中看到由-、/和\组成的旋转动画。这种类型的打印只会覆盖已经存在的内容,也用于显示使用命令行应用程序下载内容的进度。Animation 命令行动画,animation,command-line,printing,Animation,Command Line,Printing,我经常在命令提示符/shell中看到由-、/和\组成的旋转动画。这种类型的打印只会覆盖已经存在的内容,也用于显示使用命令行应用程序下载内容的进度。 这是怎么做到的 通常通过打印一个退格字符,然后打印序列中的下一个字符来完成。在大多数编程语言中,您只需在字符串中使用\b即可 例如,下面是一些Python代码: import time import sys sys.stdout.write(' ') while True: for c in ('/', '-', '\\', '|'):
这是怎么做到的 通常通过打印一个退格字符,然后打印序列中的下一个字符来完成。在大多数编程语言中,您只需在字符串中使用\b即可 例如,下面是一些Python代码:
import time
import sys
sys.stdout.write(' ')
while True:
for c in ('/', '-', '\\', '|'):
time.sleep(1)
sys.stdout.write('\b' + c)
sys.stdout.flush()
通常这是通过打印一个退格字符,然后打印序列中的下一个字符来完成的。在大多数编程语言中,您只需在字符串中使用\b即可 例如,下面是一些Python代码:
import time
import sys
sys.stdout.write(' ')
while True:
for c in ('/', '-', '\\', '|'):
time.sleep(1)
sys.stdout.write('\b' + c)
sys.stdout.flush()
如前所述,您通常可以使用backspace char,\b来执行此操作。下面是一个简单的bash示例,因为您没有指定平台,所以我选择了一个;:
#!/bin/bash
spin_states=(- \\ \| /)
function spin {
echo -n "Working... "
for ((i=0; i<$1; i++))
do
state=$((i % ${#spin_states[@]}))
echo -ne "\b${spin_states[state]}"
sleep .1 # A "real" script would probably do something useful here
done
echo
}
spin 100
如前所述,您通常可以使用backspace char,\b来执行此操作。下面是一个简单的bash示例,因为您没有指定平台,所以我选择了一个;:
#!/bin/bash
spin_states=(- \\ \| /)
function spin {
echo -n "Working... "
for ((i=0; i<$1; i++))
do
state=$((i % ${#spin_states[@]}))
echo -ne "\b${spin_states[state]}"
sleep .1 # A "real" script would probably do something useful here
done
echo
}
spin 100
你指的是哪个操作系统?在Windows/Unix命令行中可能会有所不同。您所指的操作系统可能重复?在Windows/Unix命令行中可能会有所不同