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()

  • 相关阅读:
    素数
    java线程和线程池的使用
    Android SnackBar:你值得拥有的信息提示控件
    Java读取数据库数据生成柱状图
    hdu 2255奔小康赚大钱 KM算法模板
    Codeforces 446C —— DZY Loves Fibonacci Numbers(线段树)
    设计模式_门面模式
    hdu 1811 Rank of Tetris 并查集+拓扑排序
    使用openstack的虚拟机模版注意事项
    【JAVA】merge two array by order
  • 原文地址:https://www.cnblogs.com/xkops/p/6247732.html
Copyright © 2011-2022 走看看