Pyhton字符串处理

python处理字符串

最近在写一个IP比对程序,或者说是IP查询程序
上一篇文章不是已经在数据库中存入了大量的IP地址了吗,但是咱们这个存储速度或者说查询速度还是太慢了,4000+个域名就几乎用了2个小时。

那咱就慢慢改进
多线程以后再说,最近在gitlab上获得了一份2017年2月份的IP分布表,形式类似于(首IP+末IP+地理位置)的格式,那就用这个现成的IP分布表来解决慢速的问题。
如果不使用IP分布表,那就必须对每个IP进行网络爬虫来获得地理位置(那个真的很占用网络资源,而且很慢)那么当我们使用了IP分布表之后就可以不使用爬虫,直接在IP分布表进行查询,优点是查询很快,缺点也有,那就是位置信息不详细,而且IP分布表需要不断更新。
那么如果我们把这两种方式结合起来,那么这个程序会得到很好的优化。

先对IP分布表处理
我们获得的IP格式是————>xxx.xxx.xxx.xxx
但IP分布表的格式是————>xxx.xxx.xxx.xxx |xxx.xxx.xxx.xxx | 地理位置
今天现实现一个简单任务——>就是把“|“去掉

思路
1.找到每一行的第一个“|“
2.保存“|“前面的字符查串,舍去“|“,保存后面的字符串
3.使用后面的字符串继续找“|“,保存“|“前面的字符串
4.舍去“|“,保存后面的字符串

上代码

f = open("ip_local.txt")
f1 = open("adre.txt","w")
num = 0
while (num<33117):
    a = f.readline()[:-1]
    dele_adre = a.index("|")
    ip_1 = a[0:dele_adre]
    line_change = a[dele_adre+1:]
    dele_adre_2 = line_change.index("|")
    ip_2 = line_change[0:dele_adre_2]
    adre = line_change[dele_adre_2+1:]
    num = num+1
    str1 = ip_1 + " " + ip_2 + " " adre
    print >> f1.str1
f.close()
f1.close()

截图如下

待更

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值