python 打印重定向:stdin,stdout,stderr

时间:2022-12-02 00:01:59
重定向读取
import sys

name=input('please enter your name:')
print(name)

print('please enter your name:')
name=sys.stdin.readline()  #重定向读取
print(name)

f=open('e:/kangyujiao/test.txt','r')
sys.stdin=f
name=sys.stdin.readline()  #重定向读取
print(name)

class A:
    def read(self):
        return 'aaaaaaa'

sys.stdin=A()
name=sys.stdin.read()   #重定向读取
print(name)

重定向输出
import sys

print('aaaaaaa')

old=sys.stdout
sys.stdout=open('e:/kangyujiao/test.txt','w')
print('bbbbbbb')  #重定向输出到指定文件中
sys.stdout=old
print('ccccccc')

f=open('e:/kangyujiao/test.txt','a')
print('ddddddd',file=f)   #重定向追加到指定文件中

class A:
    def write(self,s):
        print(s)

f=A()
print('eeeeeee',file=f)   #重定向输出,只要有write方法

 
输出异常

import sys
print('aaaaaa', file=sys.stderr)   #输出异常,红字显示