Python压缩shell输出

use*_*843 4 python shell dev-null

我的Python脚本通过os.system调用shell命令:

os.system('sudo ifdown wlan0 &> /dev/null')
Run Code Online (Sandbox Code Playgroud)

如果我在没有Python的情况下运行此命令,则在Python中输出被抑制,但是,它仍会打印输出.

我究竟做错了什么?

jor*_*anm 8

使用时os.system,使用的shell是/bin/sh.在许多操作系统上,/bin/sh不是bash.您正在使用的重定向,&>,不被POSIX定义,无法在某些外壳,如工作dash,这是/bin/sh对Debian和它的许多衍生物.以下应正确抑制输出:

os.system('sudo ifdown wlan0 > /dev/null 2>&1')
Run Code Online (Sandbox Code Playgroud)