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

  • 相关阅读:
    Extension Methods(扩展方法)
    linux面试题
    渗透测试 day4
    渗透测试 day3
    渗透测试 day2
    渗透测试 day1
    9.3 网络安全介绍
    9.2 Iptables
    8.30 进程管理
    8.29 linux的网络
  • 原文地址:https://www.cnblogs.com/xkops/p/6247732.html
Copyright © 2011-2022 走看看