python 資訊同時輸出到控制台與檔案的例項講解

2022-10-04 19:42:20 字數 1452 閱讀 3869

python程式設計中,往往需要將結果用print等輸出,如果希望輸出既可以顯示到ide的螢幕上,也能存到檔案中(如txt)中,該怎麼辦呢?

方法1可通過日誌logging模組輸出資訊到檔案或螢幕。但可能要設定log的level或輸出端,對於同時需要記錄debug error等資訊的較為合適,官方教程推薦學習用更規範的logger來操作。

例如,可參考來自官網的這段**。

import logging

logging.basicconfig(filename='log_examp.log',level=logging.debug)

logging.debug('this message should go to the log file')

logging.info('so should this')

logging.warning('and this, too')

方法2利用print輸出兩次

比如這裡我想輸出程式的path和程式的檔名

import os

# 第一句輸出到consle:

print("filepath:",__file__,"\nfilename:",os.path.basename(__file__))

# 第二句輸出到txt:

with open("outputlog.txt","a+") as f:

print("filepath:",__file__,

"\nfilename:",os.path.basename(__file__))

#當然 也可以用f.write("info")的方式寫入檔案

方法3利用輸出重定向輸出兩次

同樣輸出程式path和檔名

import os

import sys

temp=sys.stdout # 記錄當前輸出指向,預設是consle

with open("outputlog.txt","a+") as f:

sys.stdout=f # 輸出指向txt檔案

print("filepath:",__file__,

"\nfilename:",os.path.basename(__file__))

print("some other information")

print("some other")

print("information")

sys.stdout=temp # 輸出重定向回consle

print(f.readlines()) # 將記錄在檔案中的結果輸www.cppcns.com出到螢幕

r的重定向

這裡多嘴補充一下,在windows下的r語言中,有個sink(『檔名.字尾名') 可以將輸出重定向到檔案中,然後用sink()重返控制台 很是方程式設計客棧便

本文標題: python 資訊同時輸出到控制台與檔案的例項講解

本文位址: /jiaoben/python/227731.html

python 資訊同時輸出到控制台與檔案

python程式設計中,往往需要將結果用print等輸出,如果希望輸出既可以顯示到ide的螢幕上,也能存到檔案中 如txt 中,該怎麼辦呢?可通過日誌logging模組輸出資訊到檔案或螢幕。但可能要設定log的level或輸出端,對於同時需要記錄debug error等資訊的較為合適,官方教程推薦學...

python控制台資訊輸出到日誌

將python控制台資訊和錯誤資訊輸出到日誌。這裡設定輸出資料夾為log,把日誌的檔名設定為程式執行時間。首先把在 檔案中加入以下 import time import osimport sysclass logger object def init self,stream sys.stdout o...

linux命令tee 將資訊同時輸出到螢幕和檔案

當程式輸出內容過多,容易導致終端顯示不全。可以通過將輸出內容寫入檔案的形式儲存執行的log。如果在linux下希望將程式或命令執行的資訊,在輸入到檔案的同時,也能夠顯示在螢幕上,可以使用tee這個命令。下圖是對這個命令的形象介紹 例 執行 python test.py 如果只希望執行資訊顯示在螢幕上...