使用Python在File中查找IP地址

时间:2017-02-26 00:53:31

标签: python linux bash python-2.7 shell

我想提取文件夹中各种文件中的IP地址。我正在利用Python来调用OS(linux)命令,例如strings,grep来实现它。

这是我的代码 -

p1 = subprocess.Popen(['strings -a -f /root/Downloads/Apps/androidproject/*'],shell=True, stdout=subprocess.PIPE)

#p2 = subprocess.Popen(["grep", "-E","10.1.1"],stdin=p1.stdout,stdout=subprocess.PIPE)
p2 = subprocess.Popen(["grep", "-E","'((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'"],stdin=p1.stdout,stdout=subprocess.PIPE)
#p1.stdout.close()
out = p2.communicate()[0]
print "The IPs are:\n",out

我面临的问题是Python无法评估我指定的RE表达式从一组文本中提取IP地址。我已经验证了以下内容 -

  

RE表达式是正确的,并且可以独立运行,

     

该脚本能够找到/ grep明确提供的文本,就像我从10.1.1开始寻找IP的那一行

问题在于在字符串输出上运行RE表达式(在代码执行中)并且我无法弄清楚什么是错误的。可以使用一些帮助。

P.S。如果有人可以提出建议,我愿意学习一种更简单,更好的方法来实现这一目标。

谢谢大家!

0 个答案:

没有答案