我不知道是什么原因导致了我的问题,我觉得很愚蠢,我在互联网上找不到任何解决方案,但突然我的代码开始在运行时打印许多消息,我不知道为什么:
[D:urllib3.connectionpool] Starting new HTTPS connection (%d): %s:%s
[D:urllib3.connectionpool] %s://%s:%s "%s %s %s" %s %s
[D:urllib3.connectionpool] Starting new HTTPS connection (%d): %s:%s
[D:urllib3.connectionpool] %s://%s:%s "%s %s %s" %s %s
我使用requests库,但我也得到了与PyQt类似的东西:
[D:PyQt6.uic.uiparser] toplevel widget is %s
[D:PyQt6.uic.properties] setting property geometry
[D:PyQt6.uic.properties] setting property windowTitle
[D:PyQt6.uic.uiparser] push Dialog Dialog
[D:PyQt6.uic.uiparser] push QGridLayout gridLayout
[D:PyQt6.uic.properties] setting property text
[D:PyQt6.uic.uiparser] push QPushButton cancelButton
[D:PyQt6.uic.uiparser] pop widget QPushButton cancelButton
我尝试用谷歌搜索如何禁用此消息,但没有成功。 这真的很烦人,因为我无法在我的应用程序中显示有用的信息。
您看到的调试消息是由 Python 的日志记录系统引起的,当日志记录级别设置为 DEBUG 时,urllib3 和 PyQt6 等库使用该系统来打印内部详细信息。要停止这些,您可以通过添加导入日志记录并设置logging.basicConfig(level=logging.WARNING)来调整脚本中的日志记录级别,这会隐藏警告下方的所有内容。如果你想针对特定的库,你可以使用logging.getLogger("urllib3").setLevel(logging.WARNING)或logging.getLogger("PyQt6").setLevel(logging.WARNING)之类的东西来让它们安静下来。如果您不小心在代码中的其他位置启用了调试日志记录(例如,logging.basicConfig(level=logging.DEBUG)),只需将其更改为 WARNING 即可。如果您迫切希望让所有日志保持沉默,您可以使用logging.disable(logging.CRITICAL)来完全关闭它们。另外,请检查您的环境(例如 Jupyter 或 IDE)是否强制生成调试日志(有时会这样做)。这应该会清理您的控制台并使其更容易专注于应用程序的输出。