2

我正在用 Flask 编写一个应用程序,它由两个文件组成app.pytags.py. app.py进口tags.py,其中又包含from eyed3 import load. Eyed3是一个 Python 模块,用于从文件中提取 mp3 标签。由于某种原因, Eyed3 的导入会抑制 Flask 的控制台输出。通常在使用返回值启动 Flask 时python app.py

* Running on http://127.0.0.1:17000/

导入 Eyed3 时,此行不会出现。不管是import eyed3or from eyed3 import load,或者 import 是 in app.pyor tags.py,还是 Flask 有调试模式开/关都没有关系。我什至试着跑

import sys
sys.stdout = sys.__stdout__
sys.stderr = sys.__stderr__

只是在导入之后或之前app.run(),没有成功。为什么以及如何仅导入模块隐藏控制台输出?我怎样才能恢复它?

编辑:导入顺序无关紧要。没有任何反应,如果我在 Flask 之前导入 Eyed3,错误仍然存​​在。它与这行代码有关吗?

4

1 回答 1

2

我敢打赌它与 EyeD3 在此文件中所做的日志记录操作有关:https ://bitbucket.org/nicfit/eyed3/src/97905ecfcd6c8f8df0349582b90258b154e583b5/src/eyed3/utils/log.py?at =默认

于 2013-02-21T16:24:59.537 回答