zoukankan      html  css  js  c++  java
  • sys.stdout.write与sys.sterr.write(三)

    目标:

      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
    ' % ('waiting...', ch)
            #sys.stdout.write('%-20s%s
    ' % ('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
    ' % ('waiting...', ch)
            sys.stderr.write('%-20s%s
    ' % ('waiting...', ch))
            #sys.stdout.flush()
            time.sleep(0.2)

    •运行代码,测试效果

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

  • 相关阅读:
    no space left on device
    功能测试用例
    数据库命令
    移动APP测试用例设计实践经验(转载)
    15个常用sql命令
    将Windows文件夹挂载到Linux上
    英语学习方法
    三种特质 做领导
    扬州之行 第一天
    list、dict、str虽然是Iterable,却不是Iterator
  • 原文地址:https://www.cnblogs.com/xkops/p/6247732.html
Copyright © 2011-2022 走看看