使用os.popen/commands.getoutput查询指定端口号的服务 分类: python 小练习 open()文件读写 python基础学习 2013-09-17 17:49 798人阅读 评论(0) 收藏
群里讨论的一个问题:
执行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()