中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用python怎么將控制臺輸出保存至文件

發布時間:2021-05-20 16:32:49 來源:億速云 閱讀:835 作者:Leah 欄目:開發技術

這篇文章給大家介紹使用python怎么將控制臺輸出保存至文件,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1 重定向標準輸出流

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

# assume the log file is 'a.log'
# for python2
print >> a.log, 'print something'
# for python3
print('print something', file=a.log)

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

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

2 使用tee命令重定向

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

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

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

3 自定義logger

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

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主要用來做什么

Python主要應用于:1、Web開發;2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發;5、游戲開發;6、桌面應用開發。

關于使用python怎么將控制臺輸出保存至文件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安西县| 罗田县| 资兴市| 和田县| 汪清县| 盘锦市| 伊金霍洛旗| 桐梓县| 宁化县| 江川县| 开原市| 若尔盖县| 深泽县| 崇义县| 轮台县| 瑞昌市| 周口市| 永丰县| 进贤县| 永泰县| 新乡县| 新乡市| 砀山县| 昌图县| 马公市| 聂拉木县| 宜州市| 娄底市| 宜春市| 化隆| 大悟县| 淮北市| 延边| 郓城县| 萨迦县| 梁山县| 靖州| 三明市| 新丰县| 大埔区| 鸡东县|