如何停止在python中打印一些特定的行?

2024-04-25 11:51:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个最小化chi2函数的脚本。 当我运行脚本时,它会打印一长行“J2000.0”,然后给出我的计算值。我知道这些连续的“J2000.0”行是因为我确定了天体物理坐标系。你知道吗

现在,我只想摆脱打印行“J2000.0”。 我尝试了以下代码:

import sys, os

# Disable
def blockPrint():
    sys.stdout = open(os.devnull, 'w')

# Restore
def enablePrint():
    sys.stdout = sys.__stdout__



blockPrint()

但它甚至会阻塞我想读的输出。 谁能帮我一个代码,这将有助于不显示只有行包含“J2000.0”?你知道吗


Tags: 函数代码import脚本osdefstdoutsys
1条回答
网友
1楼 · 发布于 2024-04-25 11:51:20

一些口译员(比如jupyter笔记本)默认情况下不会在控制台上打印。因此,如果调用sys.stdout = sys.__stdout__,则强制打印到控制台而不是浏览器。你知道吗

下面的代码对我有用。你知道吗

import sys, os

class HandlePrint():

    def __init__(self):
        self.initial_stout = sys.stdout

    def blockPrint(self):
        sys.stdout = open(os.devnull, 'w')

    # Restore
    def resetPrint(self):
        sys.stdout = self.initial_stout

handle = HandlePrint()
handle.blockPrint()

print 'AAAA'

handle.resetPrint()
print 'BBBB'

相关问题 更多 >