91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

使用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

凤阳县| 永城市| 尉犁县| 邹平县| 东源县| 池州市| 陆良县| 奉贤区| 安多县| 西盟| 邳州市| 乐安县| 安塞县| 印江| 武川县| 广宗县| 东宁县| 云梦县| 邵阳市| 始兴县| 常宁市| 清新县| 淮阳县| 湖州市| 通道| 镇远县| 衡阳县| 太仓市| 墨脱县| 汶上县| 丹东市| 平果县| 卢湾区| 揭阳市| 盖州市| 平远县| 陇西县| 明溪县| 石阡县| 安国市| 龙井市|