python出现stdin,python 标准错误输出
Python的标准输入(stdin),标准输出(stdout),标准错误(stdout)_mb62abf3afb54fb的技术博客_博客
前言stdin、stdout和stderr变量包含对应于标准I/O流的流对象。
Sys.stdin -标准输入函数,类似于input()/raw_input()
Sys.stdput -标准输出函数,类似于print()
Sys.stderr -标准错误输出函数
实际上,input()和print()都是通过调用标准流实现的,sys.stdin和sys.stdout本质上只是两个用于切换不同i/o的接口接口.
sys . stdin vs input()/raw _ input()[标准输入] sys.stdin.readline()用于读取一行文本输入,直到你按下enter键。
【注意】这个方法会打印出换行符;该方法不能在输入时为输入内容定义前缀。
Sys.stdin.readlines()用于读取多行文本输入。按回车键后,不能退出输入。
【注意】在Pycharm中按CTRL D退出输入模式;输入数据类型为列表。
Input()/raw_input()用于读取输入的一行文本;回车结束输入,但回车将不包括在输入中。
示例:
# -*-编码:utf-8 -*-
导入系统
来自皮普。_vendor.distlib.compat导入原始输入
A=raw_input(raw_input(),请输入:)
B=输入( input()模式,请输入:)
Print(aw_input()模式,输入数据:{},数据类型:{} 。format(a,type(a)), input()模式,输入数据:{},数据类型:{} 。格式(b,类型(b)),sep=。
C=sys.stdin.readline() # 这个方法会打印出换行符;该方法不能在输入时为输入内容定义前缀。
Print(sys.stdin.readline()模式,输入数据:{},数据类型:{} 。格式(c,类型(c)))
d=sys.stdin.readlines()
Print(sys.stdin.readlines()模式,输入数据:{},数据类型:{} 。format(d,type(d)))运行结果:
sys . stdout vs print()[标准输出] print:python在调用print的过程中实际上引用了sys.stdout.write(obj /n ),即print()结束时,默认换行。如果想实现无自动换行,可以使用print (param,end= );
sys.stdout.write()方法将字符写入标准输出,即控制台。默认情况下,此方法不换行。如果要换行,可以使用sys.stdout.write (str/n )。
区别:print()可以打印几乎所有类型的数据,但是sys.stdout.write()只接受字符数据。
例如:
导入系统
print(Hello World!)#这个语句会在标准输出的屏幕上打印Hello World!
#相当于:
sys.stdout.write(Hello World!\n)sys.stdout和sys.stderr1,标准输出和标准错误(通常缩写为stdout和stderr)是每个UNIX系统都内置的管道。
当你打印一些东西时,结果被输出到stdout管道;当您的程序崩溃并打印出调试信息时(类似于Python中的错误跟踪),结果会输出到stderr管道。
2.通常,这两个管道只连接到您正在工作的终端窗口,所以当一个程序打印出来时,您可以看到输出,当一个程序崩溃时,您可以看到调试信息。(如果在基于windows的Python IDE系统上工作,默认情况下,stdout和stderr是“交互式窗口”。)
3.stdout和stderr是类似文件的对象,就像我们在提取输入源中讨论的那样,但是它们都是只写的。他们没有读的方法,只有写。
但是,它们确实是类似文件的对象,您可以给它们分配任何文件对象或类似文件的对象来重定向输出。
4.sys.stdout有缓冲区。解决缓冲有两种方法:
Print()或sys.stdout.write()后跟sys.stdout.flush()。在执行python脚本时,添加-u参数,即python -u XXX.py,期待陌生,拥抱惊喜。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。