Python -- ブロック固有の Print 印刷

例:「xxx」を含むブロック印刷

コードのデモ:

import sys

# 標準出力処理関数をカスタマイズします
def handle_stdout(text):
        if "xxx" not in text: # 出力に "xxx" が含まれる場合、印刷しません
                sys.__stdout__.write(text) # 出力を標準出力

# カスタム出力ストリームを作成し、カスタム処理関数クラスにリダイレクト
CustomOutputStream:
        def __init__(self):
        self.buffer = ""

def write(self, text):
        handle_stdout(text)

deflush(self) :
        #バッファをフラッシュするロジックを実装します。
        # たとえば、バッファの内容をファイルまたは標準出力ストリームに書き込みます。
        print(self.buffer, end="")
        self.buffer = ""

# 標準出力をカスタム出力ストリームにリダイレクトします
。stdout = CustomOutputStream()

# 出力例
print("Hello") # 印刷されます
print("xxx") # 印刷されません
print("World") # 印刷されます

おすすめ

転載: blog.csdn.net/xch622114/article/details/132237283