Python import 一个 .py 文件的时候有没有办法禁止这个的 output

2017-07-13 23:29:51 +08:00
 SharkIng

问题是这样的,我们有个自制的「 library 」用来读取我们的数据库,这个文件会 import 一堆其他的 dependency。我们为了方便,如果 import 错误,except 就 print error

现在问题来了,每次应用这个文件的时候都会有一堆的 import exception (主要有些 library 是 windows 下的,linux 下用就会说没有这个库)

在不修改这个本身的文件的情况↓,有什么办法静止他的所有 output,我只需要用他的 Object,然后读取数据库就行了

1287 次点击
所在节点    问与答
4 条回复
billlee
2017-07-13 23:42:29 +08:00
那就只能把把标准输出改到 /dev/null
weyou
2017-07-13 23:52:32 +08:00
import sys
_stdout = sys.stdout
sys.stdout = None
import your_library
sys.stdout = _stdout
手机发帖,没测试,楼主试试吧
SharkIng
2017-07-13 23:53:45 +08:00
@weyou #2 感谢,我试试看


@billlee #1 这个试过一下感觉不行。
Trim21
2017-07-14 00:48:36 +08:00
sys.stdout = open(os.devnull, "w")

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/375198

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX