激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python將控制臺輸出保存至文件的方法

python將控制臺輸出保存至文件的方法

2021-05-12 00:33KFXW Python

今天小編就為大家分享一篇python將控制臺輸出保存至文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

很多時候在Linux系統下運行python程序時,控制臺會輸出一些有用的信息。為了方便保存這些信息,有時需要對這些信息進行保存。這里介紹幾種將控制臺輸出保存到文件中的方式:

1 重定向標準輸出流

重定向標準輸出流有兩種方式,既可以在每個print方法中進行重定向,如下所示:

?
1
2
3
4
5
# assume the log file is 'a.log'
# for python2
print >> a.log, 'print something'
# for python3
print('print something', file=a.log)

同時也可以在全局上進行設置:

?
1
2
3
4
import sys
f = open('a.log', 'a')
sys.stdout = f
sys.stderr = f # redirect std err, if necessary

2 使用tee命令重定向

上述方法的缺點在于重定向后,控制臺就不再顯示信息,可能對觀察程序現象造成困難。使用tee命令則可以在保存標準輸出的同時在控制臺上仍然顯示信息。使用范例如下:

?
1
python a_script.py 2>&1 | tee a.log

這種方法的缺點是控制臺顯示的內容會斷斷續續出現,與沒有重定向時顯示的方式有些不同。

3 自定義logger

我們可以在python程序中自定義一個記錄者類,用來同時寫文件以及在控制臺進行顯示。一個例子如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import sys
class Logger(object):
 def __init__(self, filename='default.log', stream=sys.stdout):
  self.terminal = stream
  self.log = open(filename, 'a')
 
 def write(self, message):
  self.terminal.write(message)
  self.log.write(message)
 
 def flush(self):
  pass
 
sys.stdout = Logger(a.log, sys.stdout)
sys.stderr = Logger(a.log_file, sys.stderr) # redirect std err, if necessary
 
# now it works
print 'print something'

此時控制臺的顯示也同原先一樣正常。

以上這篇python將控制臺輸出保存至文件的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/u010158659/article/details/81671901

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 黄色毛片前黄 | 国产精品久久久久久久久久久天堂 | 看中国一级毛片 | 国产色爱综合网 | 成人短视频在线观看免费 | 亚洲欧美日韩中文在线 | 中文字幕在线观看1 | 97超视频在线观看 | 国产乱色精品成人免费视频 | 日本黄色免费片 | 精品一区二区在线观看 | xxxxhd73国产| 国产91av视频 | 国产午夜精品久久久久 | 国产亚洲精品网站 | 色淫网站免费视频 | 快播av在线 | 中文字幕精品久久 | av电影在线网 | 久久免费视频一区 | 国产精品久久久久久影视 | 久久精品一区视频 | 国产一级片91 | 欧美亚成人 | 91精品国产乱码久久桃 | 欧美中文字幕在线视频 | 免费一级毛片网站 | 欧美18—19sex性护士中国 | 7777网站| 羞羞网站视频 | 精品国产网站 | 最新日韩一区 | 毛片免费看的 | 欧美福利视频一区二区三区 | 综合网日日天干夜夜久久 | 国产精品久久久久久238 | 一级在线观看 | av在线大全 | 国产日产精品一区四区介绍 | 成人在线激情视频 | 久久成人视屏 |