如何使用 python 解析 netsh 输出
How to parse netsh output using python
我得到了预期的输出:
import subprocess x = subprocess.call('netsh interface show
interface')
作为
管理状态状态类型接口名称
---------------------------------------------- ----------------------
已启用连接的专用以太网 0
但是当尝试如下解析 netsh 输出时:
x.split()
Throws error "AttributeError: 'int' object has no attribute 'split'" I tired several other ways but didn't worked.
我正在尝试使用 python 从 netsh 输出中检索(过滤)接口名称。
subprocess.call
只是 return 的 return 代码,而不是命令的输出流。
要做你想做的事,你可以这样做:
p = subprocess.Popen('netsh interface show interface',stdout=subprocess.PIPE)
[x,err] = p.communicate()
然后 x
包含 netsh
程序提供的输出。
作为一般性评论,请注意最好在字符串中传递参数,如下所示:
['netsh','interface','show','interface']
因此您可以更好地控制参数,并且可以传递其中包含空格的参数而无需费心引用它们,引用由 subprocess
模块完成。
我得到了预期的输出:
import subprocess x = subprocess.call('netsh interface show interface')
作为
管理状态状态类型接口名称 ---------------------------------------------- ---------------------- 已启用连接的专用以太网 0
但是当尝试如下解析 netsh 输出时:
x.split() Throws error "AttributeError: 'int' object has no attribute 'split'" I tired several other ways but didn't worked.
我正在尝试使用 python 从 netsh 输出中检索(过滤)接口名称。
subprocess.call
只是 return 的 return 代码,而不是命令的输出流。
要做你想做的事,你可以这样做:
p = subprocess.Popen('netsh interface show interface',stdout=subprocess.PIPE)
[x,err] = p.communicate()
然后 x
包含 netsh
程序提供的输出。
作为一般性评论,请注意最好在字符串中传递参数,如下所示:
['netsh','interface','show','interface']
因此您可以更好地控制参数,并且可以传递其中包含空格的参数而无需费心引用它们,引用由 subprocess
模块完成。