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

    目标:

      1.使用sys.stdout.write输入0-9数字

      2.使用sys.stderr.write输出0-9数字

      3.使用两种方式输出0-9,显示0变化到9的过程

    1.使用sys.stdout.write和sys.stderr.write打印

    [root@localhost python]# cat 1.py
    #
    !/usr/bin/env python import sys sys.stdout.write("stdout1") sys.stderr.write("stderr1") sys.stdout.write("stdout2") sys.stderr.write("stderr2") [root@localhost python]# python 1.py stderr1stderr2stdout1stdout2[root@localhost python]#
    提示:使用sys.stdout.write方式输出,顺序发生变化,输出2个stderr,再输出2个stdout,这是因为sys.stdout.write输出的方式有缓存,而sys.stderr.write输出的方式无缓存。
    sys.stdout.write去掉缓存的方法:
      1.添加换行符
      2.执行脚本时添加 -u 选项
      3.调用sys.stdout.flush
    ①添加换行符' ' [root@localhost python]
    # cat 1.py #!/usr/bin/env python import sys sys.stdout.write("stdout1 ") sys.stderr.write("stderr1 ") sys.stdout.write("stdout2 ") sys.stderr.write("stderr2 ") [root@localhost python]# python 1.py stdout1 stderr1 stdout2 stderr2
    ②执行脚本加 -u 选项
    [root@localhost python]# cat 1.py
    #!/usr/bin/env python import sys sys.stdout.write("stdout1") sys.stderr.write("stderr1") sys.stdout.write("stdout2") sys.stderr.write("stderr2") [root@localhost python]# python 1.py stdout1stderr1stdout2stderr2[root@localhost python]#

    ③调用sys.stdout.flush
    [root@localhost python]# cat 1.py
    #!/usr/bin/env python import sys sys.stdout.write("stdout1")
    sys.stdout.flush() sys.stderr.write("stderr1") sys.stdout.write("stdout2")
    sys.stdout.flush() sys.stderr.write("stderr2") [root@localhost python]# python 1.py stdout1stderr1stdout2stderr2[root@localhost python]#

    2.使用sys.stdout.write和sys.stderr.write输出0-9的变化过程

    代码如下:

    [root@localhost python]# cat std_write.py
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import sys,time
    
    for i in xrange(10):
        sys.stdout.write('%s
    ' % i)
        sys.stdout.flush()
        time.sleep(0.2)
    #打印换行
    print
    
    for i in xrange(10):
        sys.stderr.write('%s
    ' % i)
        time.sleep(0.2)
    print

    3.运行代码,测试效果,会看到0一直变化到9,最后显示9结束。

    [root@localhost python]# python std_write.py
    9
    9
  • 相关阅读:
    编码
    浏览器翻页
    验证码识别
    时间
    phantomjs配置
    产品
    java范型的理解
    使用JDBC连接数据库
    垃圾回收机制
    java的内存区域 && java内存模型
  • 原文地址:https://www.cnblogs.com/xkops/p/6245879.html
Copyright © 2011-2022 走看看