gpt4 book ai didi

Python 子进程 Popen

转载 作者:行者123 更新时间:2023-11-30 23:55:52 24 4
gpt4 key购买 nike

为什么它不起作用? :|

import subprocess    
p = subprocess.Popen([r"snmpget","-v","1","-c","public","-Oqv","","-Ln","192.168.1.1 1.3.6.1.2.1.2.2.1.10.7"],stdout=subprocess.PIPE).communicate()[0]
print p

运行脚本:

root@OpenWrt:~/python# python w.py

root@OpenWrt:~/python#

其打印空行:|Bu在同一台机器上,来自shell:

root@OpenWrt:~/python# snmpget -v 1 -c public -Oqv -Ln 192.168.1.1 1.3.6.1.2.1.2.2.1.10.7
3623120418

我知道有“-Oqv”、“”,但如果没有它,我会从 snmpget 收到错误...

最佳答案

我看到你的参数中有一个空字符串:

... ,"-Oqv","","-Ln", ...
^^

这可能会导致 snmpget 出现问题吗?

你也有两个论点:

"192.168.1.1 1.3.6.1.2.1.2.2.1.10.7"

应该分成两部分:

"192.168.1.1", "1.3.6.1.2.1.2.2.1.10.7"

当在命令行中输入命令时,shell 会为您执行此拆分操作。当以这种方式调用 subprocess.Popen() 时,您必须自己拆分所有参数。如果运行以下命令,您会得到相同的错误:

snmpget -v 1 -c public -Oqv -Ln '192.168.1.1 1.3.6.1.2.1.2.2.1.10.7'

关于Python 子进程 Popen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4485270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com