找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 16189|回复: 5

[原创代码] python去重,整理IP

[复制链接]
发表于 2015-11-20 11:11:31 | 显示全部楼层 |阅读模式
  1. """
  2. python字典C段IP筛选整理.py
  3. 题目来源 http://www.bathome.net/thread-38037-1-2.html
  4. 依山居 7:16 2015/11/20
  5. 字典中的键唯一,所以可以用来去重
  6. """
  7. 字典={}
  8. with open("a.txt") as f:
  9.     txt=f.readlines()
  10.     f.close()
  11.     ip=['.'.join(r.split(".")[0:3]) for r in txt]

  12. for r in ip:
  13.     字典[r]=1
  14.    
  15. for r in 字典:
  16.     print(r+".1")

  17. try:
  18.     input("回车退出")
  19. except SyntaxError:
  20.     pass
复制代码

评分

参与人数 1技术 +2 收起 理由
CrLf + 2 感谢分享

查看全部评分

 楼主| 发表于 2015-11-20 11:12:08 | 显示全部楼层
  1. """
  2. python集合C段IP筛选整理.py
  3. 题目来源 http://www.bathome.net/thread-38037-1-2.html
  4. 依山居 7:51 2015/11/20
  5. 相关资料 Python 3语法小记(三) 集合set
  6. http://blog.csdn.net/jcjc918/article/details/9359503

  7. 集合中的值唯一,可以用来去重
  8. """
  9. #集合的括号也是{}与字典相同,创建空集合使用set()方法
  10. 集合=set()

  11. with open("a.txt") as f:
  12.     txt=f.readlines()
  13.     f.close()
  14.    
  15. ip=['.'.join(r.split(".")[0:3]+['1']) for r in txt]

  16. for r in ip:
  17.     集合.add(r)

  18. for r in 集合:
  19.     print(r)

  20. try:
  21.     input("回车退出")
  22. except SyntaxError:
  23.     pass

  24. """
  25. 输出:
  26. 192.168.1.1
  27. 192.168.2.1
  28. 192.168.5.1
  29. 192.168.6.1
  30. 192.168.9.1
  31. 192.169.3.1
  32. """
复制代码
 楼主| 发表于 2015-11-20 11:55:50 | 显示全部楼层
  1. with open("a.txt") as f:
  2.     txt=f.readlines()
  3.     f.close()

  4. #改成集合解析的写法~语法与列表解析一样的。
  5. ip={'.'.join(r.split(".")[0:3]+['1']) for r in txt}
  6. [print(r) for r in ip]
复制代码
我也省一省代码
 楼主| 发表于 2015-11-20 12:24:26 | 显示全部楼层
  1. 接楼上代码

  2. #字典解析
  3. 字典解析={'.'.join(r.split(".")[0:3]+['1']):"随便给个值" for r in txt}
  4. {print("字典解析",r) for r in 字典解析}

复制代码
发表于 2016-3-1 22:57:04 | 显示全部楼层
  1. """
  2. python MAC地址去重.py
  3. http://bbs.bathome.net/thread-39529-1-1.html
  4. 2016年3月1日 19:46:32 codegay
  5. """
  6. #不保持mac行的顺序
  7. txt=open("mac.bat").readlines()
  8. re=list(set(txt[1:-2]))+txt[-2:]
  9. open('mac_new.bat',"w+").writelines(re)

  10. #方法二 可以保持原有的顺序
  11. txt=open("mac.bat").readlines()
  12. results=[]
  13. [results.append(r) for r in txt if r not in results]
  14. open("mac_new.bat","w+").writelines(results)
复制代码
发表于 2016-3-1 23:09:42 | 显示全部楼层
你俩号 是一个人吧。。

评分

参与人数 2技术 +2 收起 理由
CrLf + 1 哈哈,你猜。
codegay + 1 哈哈,你猜。

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:35 , Processed in 0.028862 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表