python标准库之sys模块-标准输入、标准输出、标准错误输出
程序员文章站
2022-04-22 12:11:32
一、标准输入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