当前位置: 移动技术网 > IT编程>脚本编程>Python > python标准库之sys模块-标准输入、标准输出、标准错误输出

python标准库之sys模块-标准输入、标准输出、标准错误输出

2020年08月01日  | 移动技术网IT编程  | 我要评论
一、标准输入import sys【sys.stdin.readline()】:从键盘读入数据 ---->相当于input()>>> import sys>>> aa = sys.stdin.readline()hello world>>> aa'hello world\n'>>>二、标准输出import sys【sys.stdout.write(“xxx”)】:屏幕上打印 ---->print

一、标准输入

  • import sys
  • 【sys.stdin.readline()】:从键盘读入数据 ---->相当于input()
>>> import sys >>> aa = sys.stdin.readline() hello world >>> aa 'hello world\n' >>> 

二、标准输出

  • import sys
  • 【sys.stdout.write(“xxx”)】:屏幕上打印 ---->print会调用sys.stdout的write方法
  • write()方法,不会自动换行,需要手动加\n进行换行
  • print()方法,会自动进行换行
>>> import sys >>> sys.stdout.write("hello") hello5 >>> sys.stdout.write("请输入中文") 请输入中文5 >>> 

三 、标准错误输出

  • import sys
  • 【sys.stderr.write(“xxx”)】:打印到屏幕,专门用于打印错误的(字体标红)
>>> import sys >>> sys.stderr.write("我是错误日志") 6 我是错误日志>>> 
  • 在PyCharm中的标红效果
import sys
sys.stderr.write("我是错误日志\n") sys.stderr.write("PyCharm中会标成红色\n") C:\Python36\python.exe D:/Software/pythonPlace/hello/Hello.py
我是错误日志
PyCharm中会标成红色 

在这里插入图片描述

四、标准输出功能修改

  • 把屏幕上输出的内容,改为输入到文件里。
  • 作用:将屏幕上输出的内容转存到文件中。
import sys print('diveini') #内容会输出到屏幕 saveout = sys.stdout #标准输出的对象,把内容输出到屏幕,存到变量里面 fsosk = open("out.log","w") #打开了一个文件 sys.stdout=fsosk #标准输出指向了这个文件句柄 #你再打印的内容会直接记录在文件中,而不是输出到屏幕 #会自动的将输出的内容发送给fsock的文件句柄。内容yield会写入到文件中。 print("这个信息是从屏幕输出的内容,写到了文件里") sys.stdout=saveout #标准输出切换为原有的标准输出对象 print("hello") #这句话会重新输出到屏幕上 fsosk.close() #文件关闭掉 C:\Python36\python.exe D:/Software/pythonPlace/hello/Hello.py
diveini
hello 

五、input()与标准输入功能的区别

  • input默认不会读入回车
  • sys.stdin.readline()会读入回车
>>> hi = input("请输入内容:") 请输入内容:hello >>> hi 'hello' #默认不会读入回车\n >>> >>> print(hi) hello >>> >>> print(hi,end="") hello>>> >>> import sys >>> hi2 = sys.stdin.readline() hello world >>> hi2 'hello world\n' #默认会读入回车\n >>> hi2 = sys.stdin.readline()[:-1] #将回车过滤掉 hello >>> hi2 'hello' 

六、print()与标准输出功能的区别

  • print()会默认换行
  • sys.stdout.write() 不会默认换行,需要手工加入\n进行换行
import sys print("我是第一行") #默认会自动进行换行 print("我是第二行") sys.stdout.write("我是第三行,不会自动换行;") # 不加\n不会进行换行 sys.stdout.write("我猜我也还是在第三行") C:\Python36\python.exe D:/Software/pythonPlace/hello/Hello.py
我是第一行
我是第二行
我是第三行,不会自动换行;我猜我也还是在第三行 
import sys
sys.stdout.write("我要自己进行换行\n") #加\n手动进行换行 sys.stdout.write("我猜我一定是在下一行了\n") C:\Python36\python.exe D:/Software/pythonPlace/hello/Hello.py
我要自己进行换行
我猜我一定是在下一行了 

七、print()转换成写到文件或者转成标准错误输出

import sys print("Fatal err:invalid input ",file=open("d:\\log.out","w")) #将print写到文件里 print("Fatal error:invalid input",file=sys.stderr) #将print转成标准错误输出 

本文地址:https://blog.csdn.net/panshao521_/article/details/108250028

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网