我正在尝试编写一个脚本,使用netstat检查windows机器上的临时端口。当我在空闲的Windows上测试这个脚本时,它返回一个0。你知道吗
下面是我正在测试的代码:
import os
oPorts=os.system('netstat -ano | find /i \"estab\" /c')
print(oPorts)
下面是我尝试在Python中运行时发生的情况:
]1
但是,当我在命令提示符下运行相同的东西时,输出如下。你知道吗
那么,当Windows主机上显然有311个已建立的连接时,Python为什么输出0呢?我错过了什么?你知道吗
下面的代码正好给出了我想要的输出。你知道吗
我不确定
check_output
和Popen
之间的区别,但是Popen
和.communicate()[0].decode('utf-8').strip())
是关键。你知道吗os.system函数返回命令。不是命令的输出。您应该改用subprocess模块。然后可以捕获输出。你知道吗
可执行进程的返回值与其输出不相同。按照惯例,进程返回0表示成功,其他任何值表示失败。从命令行运行命令时,通常不会打印返回值。要捕获输出,需要重定向
stdout
。你知道吗相关问题 更多 >
编程相关推荐