python獲取本機(jī)ip地址
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ì)量和效率。

相關(guān)推薦HOT
更多>>
python輸出文件路徑并保存
Python輸出文件路徑并保存Python是一種強(qiáng)大的編程語(yǔ)言,它提供了許多方法來(lái)處理文件和目錄。如果你想要輸出文件路徑并保存,可以使用Python的內(nèi)...詳情>>
2023-08-22 16:08:21
python列表添加元素的函數(shù)
當(dāng)我們使用Python編程時(shí),經(jīng)常會(huì)遇到需要向列表中添加元素的情況。Python提供了一些內(nèi)置的方法來(lái)實(shí)現(xiàn)這一功能。其中,最常用的方法是使用append...詳情>>
2023-08-21 12:48:04
python列表添加元素的三種方法
Python列表添加元素的三種方法及使用技巧介紹:Python中的列表是一種常用的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)多個(gè)元素。在實(shí)際開(kāi)發(fā)中,經(jīng)常需要向列表中添加元...詳情>>
2023-08-21 12:47:51
python列表添加元素成為新的列表
當(dāng)我們使用Python編程時(shí),經(jīng)常需要對(duì)列表進(jìn)行操作,其中一個(gè)常見(jiàn)的操作就是添加元素成為新的列表。Python提供了多種方法來(lái)實(shí)現(xiàn)這個(gè)操作。我們可...詳情>>
2023-08-21 12:47:38熱門(mén)推薦
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點(diǎn)擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學(xué)習(xí)費(fèi)用
了解課程價(jià)格 -
優(yōu)惠活動(dòng)
領(lǐng)取優(yōu)惠券 -
學(xué)習(xí)資源
領(lǐng)3000G教程 -
師資團(tuán)隊(duì)
了解師資團(tuán)隊(duì) -
實(shí)戰(zhàn)項(xiàng)目
獲取項(xiàng)目源碼 -
開(kāi)班地區(qū)
查看來(lái)校路線