打印print的另一种方式sys.stdout

>>> import sys
>>> tmp = sys.stdout
>>> sys.stdout=open('log.txt','a')
>>> print('cisco')
>>> print(1,2,3)
>>> sys.stdout.close()
>>> sys.stdout=tmp
>>> print('haha')
haha
>>> print(open('log.txt','rb').read())
b'welcome to haha
cisco
1 2 3
'
>>> print(open('log.txt','r').read())
welcome to haha
cisco
1 2 3

>>> 

  tmp作用是保存当前的sys.stdout,修改了sys.stdout后能找回之前的sys.stdout,来让print能输出到屏幕

如果想用print实现把打印的内容导出到文件:

>>> x,y,z='haha',88,['python','ericsson']
>>> x
'haha'
>>> y
88
>>> z
['python', 'ericsson']
>>> print(x,y,z,sep='...!', file=open('data.txt','w'))
>>> print(x,y,z)
haha 88 ['python', 'ericsson']
>>> file.close()
>>> print(open('data.txt','r').read())
haha...!88...!['python', 'ericsson']

  在该目录下,会生成一个data.txt文件

原文地址:https://www.cnblogs.com/vigossr/p/11176008.html