目标:

  1.使用sys.stdout.write模拟"|"的顺时针变化— \ | / 

  2.使用sys.stderr.write模拟"|"的顺时针变化— \ | /

 

1.sys.stdout.write模拟"|"的顺时针变化

代码如下:

[root@localhost python]# cat animation.py

#!/usr/bin/env python
#coding:utf8

import sys,time

for i in xrange(10):
    for ch in '-\\|/':
        print '%-20s%s\r' % ('waiting...', ch)
        #sys.stdout.write('%-20s%s\r' % ('waiting...', ch))
        sys.stdout.flush()
        time.sleep(0.2)

•运行代码,测试效果

[root@localhost python]# python animation.py

waiting...          -
waiting...          \
waiting...          |
waiting...          /
waiting...          -
waiting...          \
waiting...          |
waiting...          /
waiting...          -
waiting...          \
waiting...          |
waiting...          /
waiting...          -
waiting...          \
waiting...          |
waiting...          /
waiting...          -
waiting...          \
waiting...          |
waiting...          /
waiting...          -
waiting...          \
waiting...          |
waiting...          /
waiting...          -
waiting...          \
waiting...          |
waiting...          /
waiting...          -
waiting...          \
waiting...          |
waiting...          /
waiting...          -
waiting...          \
waiting...          |

*提示:上述代码使用print是为了打印代码的过程,将print代码行注释,打开sys.stdout.write代码行,重新运行,即可看到"|"顺时针变化的效果。

 

2.sys.stderr.write模拟"|"的顺时针变化

代码如下:

[root@localhost python]# cat animation.py

#!/usr/bin/env python
#coding:utf8

import sys,time

for i in xrange(10):
    for ch in '-\\|/':
        #print '%-20s%s\r' % ('waiting...', ch)
        sys.stderr.write('%-20s%s\r' % ('waiting...', ch))
        #sys.stdout.flush()
        time.sleep(0.2)

•运行代码,测试效果

sys.stdout.write与sys.sterr.write(三)

*提示:使用sys.stderr.write没有缓存,注释sys.stdout.flush()

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-15
  • 2021-12-29
  • 2021-11-19
  • 2022-12-23
  • 2022-12-23
  • 2021-08-05
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-24
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案