Python 将IP转换为八进制地址
如何在Python 2.7中将IP地址转换为点分八进制地址?
比如像这样:127.0.0.1 = 0177.0000.0000.0001
我试过这个方法,但结果不一样。
ip = '127.0.0.1'
print '.'.join([oct(int(x)+256)[3:] for x in ip.split('.')])
3 个回答
0
试试这个:
ip="127.0.0.1"
octalIP='.'.join(["%04o" % int(x) for x in ip.split('.')])
print octalIP
输出结果: 0177.0000.0000.0001
1
试试这个:
print '%04o.%04o.%04o.%04o' % tuple(map(int, ip.split('.')))
1
试试这个:
[编辑:感谢abarnert指出了一种更简单的使用格式的方法]
>>> ip = '127.0.0.1'
>>> print '.'.join(format(int(x), '04o') for x in ip.split('.'))
0177.0000.0000.0001