35 lines
904 B
Python
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
|