我有与Python完全相同的问题+禁用打印输出,并且可以';I don’我不能把它拿回来。我使用以下代码来抑制打印:
# Disable
def blockPrint():
sys.stdout = open(os.devnull, 'w')
# Restore
def enablePrint():
sys.stdout = sys.__stdout__
这个问题的首要解决方案是通过下面的行存储旧的stdin
,但我已经禁用了打印。如何恢复?
sys.__stdout__ = sys.stdout
总结以上评论:
- 禁用它只会在程序运行期间持续。关闭并重新启动它将修复它
- 要在同一程序运行中禁用和恢复,请在禁用sys.stdin之前将其存储在临时变量中,如下所示:
temp_stdout = None
# Disable
def blockPrint():
global temp_stdout
temp_stdout = sys.stdout
sys.stdout = open(os.devnull, 'w')
# Restore
def enablePrint():
global temp_stdout
sys.stdout = temp_stdout