3
我的Python脚本通过使用os.system调用一个shell命令:Python的抑制外壳输出
os.system('sudo ifdown wlan0 &> /dev/null')
如果我没有运行的Python此命令,输出被抑制,在Python,但是,它仍然打印输出。
我在做什么错?
我的Python脚本通过使用os.system调用一个shell命令:Python的抑制外壳输出
os.system('sudo ifdown wlan0 &> /dev/null')
如果我没有运行的Python此命令,输出被抑制,在Python,但是,它仍然打印输出。
我在做什么错?
当您使用os.system
时,使用的外壳是/bin/sh
。在许多操作系统上,/bin/sh
不是bash
。您正在使用的重定向&>
未由POSIX定义,并且不适用于某些shell,如dash
,这是Debian及其衍生产品上的/bin/sh
。以下应该正确地抑制输出:
os.system('sudo ifdown wlan0 > /dev/null 2>&1')
你可以尝试使用'subprocess'这里描述? http://stackoverflow.com/questions/11269575/how-to-hide-output-of-subprocess-in-python-2-7 –