IP地址排序

#!/usr/bin/python3
#-*- coding:utf8 -*-
import sys
import os
import socket

#编写环境 windows10 + Python3.5.3
# 在同一目录生成排序好的IP文件ip_newsort.txt
#输入如下 python3 ipsort.py ip.txt

iplist = []

def ipsort(iplist):
     #写文件
    with open('ip_newsort.txt','w') as file:
        for i in sorted(iplist,key=socket.inet_aton):
            print(i)
            file.writelines(i+"\n")
        #print(file)

def read_file(filename):
    #读取文件
    with open(filename,'r') as file:
        for line in file:
            iplist.append(line.rstrip('\n').rstrip('\n'))#清除格式转换成列表
    return iplist
    
def main():

    try:
        if len(sys.argv) != 2:
            print("Usage: %s %s" % (sys.argv[0],sys.argv[1]))
        else:
            # 判断文件路径是否存在,如果存在把文件全路径赋值给filename,否则直接退出
            if os.path.exists(sys.argv[1]):
                filename=sys.argv[1]
            else:
                print("%s is not exists!" % (sys.argv[1]))
                sys.exit(1)
        iplist=read_file(filename) #读取文件
        #print(iplist)
        ipsort(iplist)           #执行排序函数调用
      
    except Exception as e:
        print(e)
  
if __name__ == '__main__':
    main()

 

排序前:

 

排序后:

 

 

转载于:https://www.cnblogs.com/wmiot/p/11185293.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值