• <strike id="6sogq"><s id="6sogq"></s></strike>
  • <strike id="6sogq"></strike>

    千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

    400-811-9990
    手機(jī)站
    千鋒教育

    千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

    千鋒教育

    掃一掃進(jìn)入千鋒手機(jī)站

    領(lǐng)取全套視頻
    千鋒教育

    關(guān)注千鋒學(xué)習(xí)站小程序
    隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

    上海
    • 北京
    • 鄭州
    • 武漢
    • 成都
    • 西安
    • 沈陽(yáng)
    • 廣州
    • 南京
    • 深圳
    • 大連
    • 青島
    • 杭州
    • 重慶
    當(dāng)前位置:成都千鋒IT培訓(xùn)  >  技術(shù)干貨  >  python獲取本機(jī)ip地址

    python獲取本機(jī)ip地址

    來(lái)源:千鋒教育
    發(fā)布人:xqq
    時(shí)間: 2023-08-22 16:09:14

    Python獲取本機(jī)IP地址的方法有多種,可以通過(guò)socket庫(kù)、netifaces庫(kù)或者使用命令行工具來(lái)實(shí)現(xiàn)。下面將分別介紹這些方法。

    1. 使用socket庫(kù)

    `python

    import socket

    def get_local_ip():

    try:

    # 創(chuàng)建一個(gè)UDP套接字

    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    # 連接到一個(gè)外部的IP地址和端口,不會(huì)真正發(fā)送數(shù)據(jù)

    sock.connect(("8.8.8.8", 80))

    # 獲取本地IP地址

    ip = sock.getsockname()[0]

    return ip

    finally:

    sock.close()

    # 調(diào)用函數(shù)獲取本機(jī)IP地址

    local_ip = get_local_ip()

    print("本機(jī)IP地址為:", local_ip)

    
    2. 使用netifaces庫(kù)
    `python
    import netifaces
    def get_local_ip():
        # 獲取所有網(wǎng)絡(luò)接口
        interfaces = netifaces.interfaces()
        for interface in interfaces:
            # 獲取接口的地址信息
            addresses = netifaces.ifaddresses(interface)
            if netifaces.AF_INET in addresses:
                # 獲取IPv4地址
                ip = addresses[netifaces.AF_INET][0]['addr']
                if not ip.startswith("127.0."):
                    return ip
    # 調(diào)用函數(shù)獲取本機(jī)IP地址
    local_ip = get_local_ip()
    print("本機(jī)IP地址為:", local_ip)
    

    3. 使用命令行工具

    在Python中,可以使用subprocess模塊來(lái)執(zhí)行命令行命令,并獲取其輸出結(jié)果。可以使用以下命令來(lái)獲取本機(jī)IP地址:

    `python

    import subprocess

    def get_local_ip():

    # 執(zhí)行命令 ifconfig,并獲取輸出結(jié)果

    result = subprocess.run(['ifconfig'], capture_output=True, text=True)

    output = result.stdout

    # 在輸出結(jié)果中查找IP地址

    ip_start = output.find("inet ") + 5

    ip_end = output.find(" ", ip_start)

    ip = output[ip_start:ip_end]

    return ip

    # 調(diào)用函數(shù)獲取本機(jī)IP地址

    local_ip = get_local_ip()

    print("本機(jī)IP地址為:", local_ip)

    以上是三種常用的方法來(lái)獲取本機(jī)IP地址的Python代碼。根據(jù)實(shí)際情況選擇適合的方法即可。

    千鋒教育IT培訓(xùn)課程涵蓋web前端培訓(xùn)Java培訓(xùn)、Python培訓(xùn)、大數(shù)據(jù)培訓(xùn)軟件測(cè)試培訓(xùn)物聯(lián)網(wǎng)培訓(xùn)云計(jì)算培訓(xùn)網(wǎng)絡(luò)安全培訓(xùn)、Unity培訓(xùn)、區(qū)塊鏈培訓(xùn)、UI培訓(xùn)影視剪輯培訓(xùn)全媒體運(yùn)營(yíng)培訓(xùn)等業(yè)務(wù);此外還推出了軟考、、PMP認(rèn)證、華為認(rèn)證、紅帽RHCE認(rèn)證、工信部認(rèn)證等職業(yè)能力認(rèn)證課程;同期成立的千鋒教研院,憑借有教無(wú)類(lèi)的職業(yè)教育理念,不斷提升千鋒職業(yè)教育培訓(xùn)的質(zhì)量和效率。

    聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

    猜你喜歡LIKE

    python列表添加元素的方法

    2023-08-21

    python列表添加元素可以用賦值的方法嗎

    2023-08-21

    python列表添加元素到前面

    2023-08-21

    最新文章NEW

    python獲取本機(jī)ip地址

    2023-08-22

    python獲取文件夾下文件數(shù)量

    2023-08-22

    python進(jìn)去虛擬環(huán)境

    2023-08-22

    相關(guān)推薦HOT

    更多>>

    快速通道 更多>>

    最新開(kāi)班信息 更多>>

    網(wǎng)友熱搜 更多>>