pythonログの出力
9945 ワード
方法1:
説明: print()行の内容が超長い場合(例えば、長いJSON形式のテキスト)ファイルの内容が不完全に表示され、長さ制限があり、ある点で自動的になくなります.すなわち,この方法では単行テキストに長さ制限がある.具体的な参考:セキュリティ開発/Python–29–コンソールの内容をローカルファイルに出力する 方法2:
あるいはこう書く(すべてlogファイルに出力するだけ)
方法3:
端末で実行され、例えば:
import sys
class Logger(object):
def __init__(self, filename='default.log', stream=sys.stdout):
self.terminal = stream
self.log = open(filename, 'a') # add content
def write(self, message):
self.terminal.write(message)
self.log.write(message)
def flush(self):
pass
# now it works
sys.stdout = Logger('a.txt', sys.stdout)
print('print something')
import time
for i in range(10):
now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) # get time
print("now-->", now) # ,
time.sleep(1) # 1
説明:
mylog = open('a.txt', mode='a', encoding='utf-8') #
print("now we will start!!!") #
print("now we will start!!!", file=mylog) #
import time
for i in range(10):
now = time.strftime('%Y%m%d_%H%M%S', time.localtime(time.time()))
print("now --> {}
".format(now), file=mylog)
time.sleep(1)
print(time.time())
mylog.close() #
あるいはこう書く(すべてlogファイルに出力するだけ)
sys.stdout = open('a.txt', mode='a', encoding='utf-8') #
print("now we will start!!!") #
import time
for i in range(10):
now = time.strftime('%Y%m%d_%H%M%S', time.localtime(time.time()))
print("now --> {}
".format(now))
time.sleep(1)
print(time.time())
方法3:
端末で実行され、例えば:
python your_program.py > logger.txt