标准输入&标准输出&错误输出 | 学习笔记

简介: 快速学习 标准输入&标准输出&错误输出

开发者学堂课程【Python 入门 2020年版:标准输入&标准输出&错误输出】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10404


标准输入&标准输出&错误输出


内容介绍

一、sys.stdin 的作用

二、sys.stdout 的作用

三、sys.stderr 的作用


一、sys.stdin 的作用

sys.stdin 可以像 input 一样,接收用户的输入。

接收用户的输入,和 input 相关接收用户的输入,其实就是读取键盘里输入的数据

例如:

s_in = sys.stdin

#作用是拿到文件对象后,文件连接到键盘的输出台,input 就是读取 sys.stdin 里的数据

while True:

content = s_in.readline()

if content == ‘\n ’

break

print(content)

#打印操作完成后,出现空字符串,程序就结束,死循环不断的读取键盘输入数据,读一行打印一行。

停止操作也可以是:

while True:

content = s_in.readline().rstrip(‘\n’)

print(content)

content = s_in.readline().rstrip(‘\n’)输入的内容是 xxx\n,而不是 xxx,所以可以直接拿掉 xxx 后的\n,让输入的结果不再换行。

写一个死循环不断地读取数据,s_in 表示读取键盘输入内容,readline()表示连续输入内容,点击换行就会打印输入的数据,不管你输入什么内容,只要点击换行就会联系打印,写一行读一行,.rstrip(‘\n’)表示取消掉“换行才打印”这个操作


二、sys.stdout 的作用

stdout 和 stdin 默认都是控制台

sys.stdout 标准输出,修改 sys.stdout 可以改变默认输出位置

例如:

若直接打印 print(1/0),程序会报错,不使用 stdout,代码打印的标准输出和错误输出都会在控制台被打印出来。

sys.stdout = open( 'stdout.txt', 'w', encoding='utf8')

#只使用 stdout 时,错误的打印内容不会被打印,正确的内容会被打印进 stdout.txt 文件中,不会在控制台输出。

print( ' hello')

print( 'yes ')

print( 'good ')

#打印正确输出,并且全部放入 stdout.txt 文件中。


三、sys.stderr 的作用

sys.stderr 是错误输出,修改 sys.stderr 可以改变错误输出的默认位。

例如:

#err == > error 错误的缩写

sys.stderr = open( 'stderr.txt', 'w', encoding='utf8')

#会将错误内容打印进stderr.txt文件中。

print(1 / 0)

#执行后,控制台无任何输出,错误输出被写入 stderr.txt 文件中,可以起到记录错误内容的作用。

其中,sys.stdout 和 sys.stderr 默认都是在控制台。

相关文章
|
Shell
Shell 脚本输出命令结果保持原格式,保留换行
Shell 脚本输出命令结果保持原格式,保留换行
192 0
|
7月前
|
Unix Shell Linux
第八章 Shell标准输入、输出和错误
第八章 Shell标准输入、输出和错误
|
7月前
|
Shell
在Shell中,您可以同时重定向标准输出(STDOUT)和错误输出(STDERR)
在Shell中,您可以同时重定向标准输出(STDOUT)和错误输出(STDERR)
584 1
|
Python
Python中标准输入(stdin)、标准输出(stdout)、标准错误(stdout)的用法
Python中标准输入(stdin)、标准输出(stdout)、标准错误(stdout)的用法
154 0
|
Shell
shell脚本学习(日志格式化输出)
shell脚本学习(日志格式化输出)
425 0
|
Linux 存储
Linux 调用系统命令并截获标准输出(stdout)和错误输出(stderr)
<pre><b>char</b> ret[1024]; <b>char</b> *<b>DoSysCmd</b>(<b>char</b> * cmdline){ <b>FILE</b> *fp; <b>char</b> line[32]; <b>char</b> cmdtmp[256]; <b>memset</b>(cmdtmp,0x00,256);
1775 0
|
Shell
2>&1 &:后台运行将日志中的标准错误2重定向到标准输出1中
2>&1 &:后台运行将日志中的标准错误2重定向到标准输出1中
284 0
|
C++ Python
Pytest----如何捕获标准输出和标准错误输出
Pytest----如何捕获标准输出和标准错误输出
1410 0
|
Shell
2&gt;&1 &:后台运行将日志中的标准错误2重定向到标准输出1中
2&gt;&1 &:后台运行将日志中的标准错误2重定向到标准输出1中
158 0