zoukankan      html  css  js  c++  java
  • Python 杂记:标准输入(stdin)、标准输出(stdout)、标准错误(stdout)

    本系列随笔是本人的学习笔记,初学阶段难免会有理解不当之处,错误之处恳请指正。转载请注明出处:https://www.cnblogs.com/itwhite/p/12327548.html

    标准输入

    input()、raw_input()

    Python 3.x 中 input() 函数可以实现提示输入,python 2.x 中要使用 raw_input(),例如:

    foo = input("Enter: ")  # python 2.x 要用 raw_input()
    print("You input: [%s]" % (foo))
    
    # 测试执行
    Enter: abc de
    You input: [abc de]     # 读取一行(不含换行符)
    

    sys.stdin

    使用 sys.stdin 可以获取标准输入的文件句柄对象,例如:

    import sys
    
    print("Enter a line: ")
    line = sys.stdin.readline()     # 读取一行(包括换行符)
    print("Line: [%s]
    %s" % (line, "-"*20))
    
    print("Enter a character: ")
    char = sys.stdin.read(1)        # 读取一个字节
    print("Char: [%s]
    %s" % (char, "-"*20))
    
    print("Enter a multi-lines: ")
    lines = sys.stdin.read()        # 读取到文件尾
    print("Lines: [%s]" % (lines))
    
    
    # 测试执行
    Enter a line:
    This is a single line   <======== 输入了一行,然后回车
    Line: [This is a single line
    ]                       <======== 输出有换行符
    --------------------
    Enter a character:
    abc                     <======== 输入了三个字节
    Char: [a]               <======== 只读取了一个字节
    --------------------
    Enter a multi-lines:
    first line
    second line
    last line               <======== 输入三行(换行)后,windows 下按 Ctrl+Z,linux 下按 Ctrl + D 结束输入
    Lines: [bc              <======== 上一次未读完的三个字节(两个字符 + 一个换行符)
    first line
    second line
    last line
    ]                       <======== 最后一行也有换行符
    

    标准输出

    print

    print 可以自动换行,例如:

    print("%s is %0.2f, %d is a integer" % ("PI", 3.14, 123))   # 格式同 C 语言中的 printf()
    print("{0} is {1}, {2} is a integer".format("PI", 3.14, 123))
    print("{foo} is {bar}, {qux} is a integer".format(foo="PI", bar=3.14, qux=123))
    
    # 测试执行
    PI is 3.14, 123 is a integer
    PI is 3.14, 123 is a integer
    PI is 3.14, 123 is a integer
    

    sys.stdout

    使用 sys.stdout 可以获取标准输出的文件句柄对象,例如:

    import sys
    sys.stdout.write("%s is %0.2f, %d is a integer
    " % ("PI", 3.14, 123))   # 格式同 C 语言中的 printf()
    sys.stdout.write("{0} is {1}, {2} is a integer
    ".format("PI", 3.14, 123))
    sys.stdout.write("{foo} is {bar}, {qux} is a integer
    ".format(foo="PI", bar=3.14, qux=123))
    

    执行结果与 print 的示例一样。(注:write()不会自动换行,这里加了换行符)

    标准错误

    sys.stdout

    使用 sys.stderr 可以获取标准错误的文件句柄对象,示例略(将 sys.stdout 中示例中的 stdout 替换为 stderr 即可)。

    完。

  • 相关阅读:
    oracle序列
    json对象操作
    web项目中常出现的异常
    Builder设计模式
    getParameter("name")和 getParamterValues("name")的区别
    多条件查询生成sql语句
    安装pl/sql
    修复google浏览器
    创建JAVA项目的几个选项
    类的初始化顺序
  • 原文地址:https://www.cnblogs.com/itwhite/p/12327548.html
Copyright © 2011-2022 走看看