使用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(' '):
...     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()

原文地址:https://www.cnblogs.com/think1988/p/4628061.html