Python 将IP转换为八进制地址

1 投票
3 回答
938 浏览
提问于 2025-04-21 10:31

如何在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

撰写回答