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
  • 相关阅读:
    在浏览器地址栏按回车、F5、Ctrl+F5刷新网页的区别
    RESTful 的总结
    Mvc项目部署IIS报错:没有为请求的URL配置默认文档,并且没有在服务器设置目录浏览
    Ajax的请求方式几传参的区别
    响应式布局中的CSS相对量
    理解 ES6 语法中 yield* 关键字的作用
    理解 ES6 语法中 yield 关键字的返回值
    配置IIS Express以便通过IP地址访问调试的网站
    在IntelliJ IDEA 13中配置OpenCV的Java开发环境
    iOS UITableView获取cell的indexPath及cell内部按钮点击事件处理
  • 原文地址:https://www.cnblogs.com/xkops/p/6245879.html
Copyright © 2011-2022 走看看