python - 如何阻止调用打印?

标签 python printing pygame

有没有办法阻止函数调用 print


我正在使用 pygame.joystick我正在开发的游戏的模块。

我创建了一个 pygame.joystick.Joystick 对象,并在游戏的实际循环中调用其成员函数 get_button 来检查用户输入。该函数完成了我需要它做的所有事情,但问题是它还调用了 print,这大大降低了游戏速度。

我可以阻止这个对print的调用吗?

最佳答案

Python 允许您使用任何文件对象覆盖标准输出 (stdout)。这应该可以跨平台工作并写入空设备。

import sys, os

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

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


print 'This will print'

blockPrint()
print "This won't"

enablePrint()
print "This will too"

如果您不希望打印该函数,请在它之前调用 blockPrint(),并在您希望它继续时调用 enablePrint()。如果您想禁用所有打印,请从文件顶部开始阻止。

关于python - 如何阻止调用打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8391411/

相关文章:

python - 找不到 zsh 命令 : conda after upgrading to Catalina and even after reinstalling Anaconda

python - 如何使用python脚本进行数据库迁移?

javascript - 通过网站更改chrome中的默认打印机

python - Pygame:物体从墙上反弹几次,然后就再也不会了

python - 第一个 : "Unable to find vcvarsall.bat" and Now: "TypeError: unorderable types: NonType() >= str()"

python - sklearn.ensemble.RandomForestClassifier 中的邻近度矩阵

bash - AWK:打印 $i 什么都不返回

java - 在 Java 中渲染和打印 RTF

python - 尝试使用 pygame OpenGL 绘制平面 3D 网格时不断出现错误 1282 'invalid operation'

python - opygame : trying to bouce a ball, 但它卡住了