1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# -*- coding:utf-8 -*-
 
import  ipaddress,sys
 
def  ip2hex_bin( file , * args, * * kwargs):
     try :
         with  open ( file , 'r' ,encoding = 'utf-8' ) as f:
             allip  =  f.readlines()
         ip  =  [ ipaddress.IPv4Address(ip.strip( '\n' ))  for  ip  in  allip ]
         if  flag  = =  '-h' :
             for  in  ip:
                 print ( hex ( int (i)))
         else :
             for  in  ip:
                 print ( bin ( int (i)))
     except  Exception as e:
         print (e)
 
def  hex_bin2ip( file , * args, * * kwargs):
     try :
         with  open ( file , 'r' ,encoding = 'utf-8' ) as f:
             allip  =  f.readlines()
         for  in  allip:
             =  i.strip( '\n' )
             print (ipaddress.IPv4Address( int (a, 0 )))
     except  Exception as e:
         print (e)
 
if  __name__  = =  '__main__' :
     try :
         flag  =  sys.argv[ 1 ]
         file  =  sys.argv[ 2 ]
         IP  =  {
             '-b' :ip2hex_bin,
             '-h' :ip2hex_bin,
             '-i' :hex_bin2ip
         }
         IP.get(flag)( file )
     except  Exception as e:
         print (sys.argv[ 0 ], '[-b|-h|-i] file' )

github链接地址:https://github.com/babyshen/Python/blob/master/ip_conversion.py