Files
sbv2-v2/tools/stdout_wrapper.py
2023-12-30 10:18:54 +09:00

35 lines
904 B
Python

import sys
import tempfile
class StdoutWrapper:
def __init__(self):
# 一時ファイルの作成とオープン
self.temp_file = tempfile.NamedTemporaryFile(mode="w+", delete=False)
def write(self, message: str):
# メッセージを一時ファイルに書き込む
self.temp_file.write(message)
self.temp_file.flush()
def flush(self):
# 一時ファイルのフラッシュ
self.temp_file.flush()
def read(self):
# ファイルの内容を読み出す
self.temp_file.seek(0) # ファイルの先頭にシーク
return self.temp_file.read()
def close(self):
# 一時ファイルを閉じる
self.temp_file.close()
def get_stdout():
# Colab 環境をチェックする
if "google.colab" in sys.modules:
return StdoutWrapper()
else:
return sys.stdout