【问题标题】:Python Convert IP to octal addressPython将IP转换为八进制地址
【发布时间】:2014-11-07 05:44:03
【问题描述】:

如何在 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('.')])

【问题讨论】:

    标签: python python-2.7 ip converter octal


    【解决方案1】:

    试试这个:

    [编辑:感谢 abarnert 指出使用格式的更简单方法]

    >>> ip = '127.0.0.1'
    >>> print '.'.join(format(int(x), '04o') for x in ip.split('.'))
    0177.0000.0000.0001
    

    【讨论】:

    • 当您的格式字符串只是一个说明符时,您不需要str.format;只需使用format(int(x), '04o')
    【解决方案2】:

    试试这个:

    print '%04o.%04o.%04o.%04o' % tuple(map(int, ip.split('.')))
    

    【讨论】:

      【解决方案3】:

      试试这个:

      ip="127.0.0.1"
      octalIP='.'.join(["%04o" % int(x) for x in ip.split('.')])
      print octalIP
      

      输出: 0177.0000.0000.0001

      【讨论】:

        猜你喜欢
        • 2013-11-13
        • 1970-01-01
        • 2017-04-23
        • 2012-04-11
        • 1970-01-01
        • 2011-02-13
        • 1970-01-01
        • 2018-03-02
        • 2016-07-05
        相关资源
        最近更新 更多