popen 没有正确转发参数 - Python
popen not forwarding args correctly - Python
我正在使用 Raspbian 并尝试使用 python 和 popen 函数来运行一个非常简单的 cmd。
我对 linux 和 python
很陌生
from subprocess import Popen, PIPE
po = Popen(['airmon-ng', 'start wlan0 10'], stdin=PIPE, stdout=PIPE, stderr=PIPE)
proc = Popen(args, stdout=PIPE, stderr=PIPE)
out, err = proc.communicate()
out
returns
'\n\nusage: airmon-ng <start|stop|check> <interface> [channel or frequency]\n\n'
当只运行 airmon-ng 没有参数时,返回的错误消息可以在 popen 函数之外创建,这让我相信 popen没有正确转发 args。
您需要正确分隔命令行参数; start
、wlan0
、10
应分隔命令行参数:
proc = Popen(['airmon-ng', 'start', 'wlan0', '10'],
stdin=PIPE, stdout=PIPE, stderr=PIPE)
out, err = proc.communicate()
print(out)
问题中的方式就像在shell中调用如下命令:
airmon-ng 'start wlan0 10'
不同于:
airmon-ng start wlan0 10
我正在使用 Raspbian 并尝试使用 python 和 popen 函数来运行一个非常简单的 cmd。 我对 linux 和 python
很陌生from subprocess import Popen, PIPE
po = Popen(['airmon-ng', 'start wlan0 10'], stdin=PIPE, stdout=PIPE, stderr=PIPE)
proc = Popen(args, stdout=PIPE, stderr=PIPE)
out, err = proc.communicate()
out
returns
'\n\nusage: airmon-ng <start|stop|check> <interface> [channel or frequency]\n\n'
当只运行 airmon-ng 没有参数时,返回的错误消息可以在 popen 函数之外创建,这让我相信 popen没有正确转发 args。
您需要正确分隔命令行参数; start
、wlan0
、10
应分隔命令行参数:
proc = Popen(['airmon-ng', 'start', 'wlan0', '10'],
stdin=PIPE, stdout=PIPE, stderr=PIPE)
out, err = proc.communicate()
print(out)
问题中的方式就像在shell中调用如下命令:
airmon-ng 'start wlan0 10'
不同于:
airmon-ng start wlan0 10