群里讨论的一个问题:
执行netstat -ano,打印输入有8090端口的行
方法一:
方法一:
>>> import commands
>>> a=commands.getoutput('netstat -ano')
>>> for i in a.split('\n'):
... if '8090' in i:
... print i
...
tcp 0 0 192.168.11.140:8090 0.0.0.0:* LISTEN 3098/python2.6
>>> a=commands.getoutput('netstat -ano')
>>> for i in a.split('\n'):
... if '8090' in i:
... print i
...
tcp 0 0 192.168.11.140:8090 0.0.0.0:* LISTEN 3098/python2.6
方法二:
linux环境下py脚本,os.system('netstat -ano') 执行这个命令后,怎么得到这个命令输出的结果?
import os
cmd = raw_input('cmd:') #输入命令 netstat -ano
print os.popen(cmd, 'r').read()
os.popen(cmd, 'r').close()
#coding:utf-8
import os
os.popen('%s >>new.txt' % ("netstat -ano | grep 8099")) #将结果重定向至new.txt
或者:
#coding:utf-8
import os
f=open('l.txt','w+') #定义一个文件对象
cmd = raw_input('cmd:') #输入命令 netstat -ano
content =os.popen(cmd,'r').read()
f.write( content)
os.popen(cmd,'r').close()
f.close()
cmd = raw_input('cmd:') #输入命令 netstat -ano
print os.popen(cmd, 'r').read()
os.popen(cmd, 'r').close()
或:
#coding:utf-8
import os
os.popen('%s >>new.txt' % ("netstat -ano | grep 8099")) #将结果重定向至new.txt
或者:
#coding:utf-8
import os
f=open('l.txt','w+') #定义一个文件对象
cmd = raw_input('cmd:') #输入命令 netstat -ano
content =os.popen(cmd,'r').read()
f.write( content)
os.popen(cmd,'r').close()
f.close()

本文介绍如何使用Python脚本执行netstat命令,通过命令行输出找到指定端口号(如8090)的相关网络连接信息。通过两种方法实现:第一种利用`commands`模块获取输出,第二种使用`os`模块直接执行命令并读取结果。最后,文章还展示了将结果输出到文件的方法。
9705

被折叠的 条评论
为什么被折叠?



