我正在Flask中编写一个应用程序,它包含两个文件app.py
和tags.py
。 app.py
导入tags.py
,后者又包含from eyed3 import load
。 Eyed3是一个从模块中提取mp3标签的Python模块。出于某种原因,导入Eyed3会抑制Flask的控制台输出。通常在使用python app.py
启动Flask时返回:
* Running on http://127.0.0.1:17000/
导入Eyed3时,不会显示此行。无论是import eyed3
还是from eyed3 import load
,还是导入都在app.py
或tags.py
,或者Flask启用/关闭调试模式都没关系。我甚至试图运行
import sys
sys.stdout = sys.__stdout__
sys.stderr = sys.__stderr__
在导入之后或app.run()
之前,没有成功。为什么以及如何导入模块隐藏控制台输出?我怎样才能恢复它?
编辑:导入顺序无关紧要。没有任何反应,如果我在Flask之前导入Eyed3,错误仍然存在。是否与this line of code有关?
答案 0 :(得分:2)
我愿意打赌它与EyeD3在此文件中执行的日志记录操作有关:https://bitbucket.org/nicfit/eyed3/src/97905ecfcd6c8f8df0349582b90258b154e583b5/src/eyed3/utils/log.py?at=default