V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
SharkIng
V2EX  ›  问与答

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

  •  
  •   SharkIng · 2017-07-13 23:29:51 +08:00 · 1351 次点击
    这是一个创建于 2693 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    第 1 条附言  ·  2017-07-14 00:45:50 +08:00
    二楼的办法就可以,只是需要把 None 改成一个文件,否则会报错 none not writable 什么的
    再次感谢,结帖
    4 条回复    2017-07-14 00:48:36 +08:00
    billlee
        1
    billlee  
       2017-07-13 23:42:29 +08:00
    那就只能把把标准输出改到 /dev/null
    weyou
        2
    weyou  
       2017-07-13 23:52:32 +08:00 via Android   ❤️ 2
    import sys
    _stdout = sys.stdout
    sys.stdout = None
    import your_library
    sys.stdout = _stdout
    手机发帖,没测试,楼主试试吧
    SharkIng
        3
    SharkIng  
    OP
       2017-07-13 23:53:45 +08:00
    @weyou #2 感谢,我试试看


    @billlee #1 这个试过一下感觉不行。
    Trim21
        4
    Trim21  
       2017-07-14 00:48:36 +08:00   ❤️ 1
    sys.stdout = open(os.devnull, "w")
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3854 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:54 · PVG 08:54 · LAX 16:54 · JFK 19:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.