<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 問題 你有一個CIDR網絡地址比如“123.45.67.89/27”,你想將其轉換成它所代表的所有IP (比如,“123.45.67.64”, “123.45.67.65”, …, “123.45.67.95”)) ## 解決方案 可以使用?`<span class="pre" style="box-sizing: border-box;">ipaddress</span>`?模塊很容易的實現這樣的計算。例如: ~~~ >>> import ipaddress >>> net = ipaddress.ip_network('123.45.67.64/27') >>> net IPv4Network('123.45.67.64/27') >>> for a in net: ... print(a) ... 123.45.67.64 123.45.67.65 123.45.67.66 123.45.67.67 123.45.67.68 ... 123.45.67.95 >>> >>> net6 = ipaddress.ip_network('12:3456:78:90ab:cd:ef01:23:30/125') >>> net6 IPv6Network('12:3456:78:90ab:cd:ef01:23:30/125') >>> for a in net6: ... print(a) ... 12:3456:78:90ab:cd:ef01:23:30 12:3456:78:90ab:cd:ef01:23:31 12:3456:78:90ab:cd:ef01:23:32 12:3456:78:90ab:cd:ef01:23:33 12:3456:78:90ab:cd:ef01:23:34 12:3456:78:90ab:cd:ef01:23:35 12:3456:78:90ab:cd:ef01:23:36 12:3456:78:90ab:cd:ef01:23:37 >>> ~~~ `<span class="pre" style="box-sizing: border-box;">Network</span>`?也允許像數組一樣的索引取值,例如: ~~~ >>> net.num_addresses 32 >>> net[0] IPv4Address('123.45.67.64') >>> net[1] IPv4Address('123.45.67.65') >>> net[-1] IPv4Address('123.45.67.95') >>> net[-2] IPv4Address('123.45.67.94') >>> ~~~ 另外,你還可以執行網絡成員檢查之類的操作: ~~~ >>> a = ipaddress.ip_address('123.45.67.69') >>> a in net True >>> b = ipaddress.ip_address('123.45.67.123') >>> b in net False >>> ~~~ 一個IP地址和網絡地址能通過一個IP接口來指定,例如: ~~~ >>> inet = ipaddress.ip_interface('123.45.67.73/27') >>> inet.network IPv4Network('123.45.67.64/27') >>> inet.ip IPv4Address('123.45.67.73') >>> ~~~ ## 討論 `<span class="pre" style="box-sizing: border-box;">ipaddress</span>`?模塊有很多類可以表示IP地址、網絡和接口。 當你需要操作網絡地址(比如解析、打印、驗證等)的時候會很有用。 要注意的是,`<span class="pre" style="box-sizing: border-box;">ipaddress</span>`?模塊跟其他一些和網絡相關的模塊比如?`<span class="pre" style="box-sizing: border-box;">socket</span>`?庫交集很少。 所以,你不能使用?`<span class="pre" style="box-sizing: border-box;">IPv4Address</span>`?的實例來代替一個地址字符串,你首先得顯式的使用?`<span class="pre" style="box-sizing: border-box;">str()</span>`?轉換它。例如: ~~~ >>> a = ipaddress.ip_address('127.0.0.1') >>> from socket import socket, AF_INET, SOCK_STREAM >>> s = socket(AF_INET, SOCK_STREAM) >>> s.connect((a, 8080)) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: Can't convert 'IPv4Address' object to str implicitly >>> s.connect((str(a), 8080)) >>> ~~~ 更多相關內容,請參考?[An Introduction to the ipaddress Module](https://docs.python.org/3/howto/ipaddress.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看