windows系統獲取本機IP地址
阿新 • • 發佈:2021-12-07
1 #!/usr/bin 2 # _*_ coding: UTF-8 _*_ 3 # Copyright (c) 2021 GengYu.All rights reserved 4 # @Create by gengyu 5 # @Create Time :2021/12/6 6 # @File Name : get_ip 7 # 打包命令 pyinstaller -F package\get_ip 8 """ 9 10 """ 11 __author__ = 'Administrator' 12 import doctest 13 import os,re 14 15 def gethost():16 ipv4 = [] 17 result = os.popen('ipconfig') 18 result_str = result.read() 19 ipv4_pattern = re.compile('ipv4 address[\.\s]+:\s[\d\.]+',re.I) 20 p = re.compile(r'\d+\.\d+\.\d+\.\d+') 21 ipv4_list = ipv4_pattern.findall(result_str) 22 for x in ipv4_list: 23 if p.search(x) isNone: 24 print('IP Address could not be found!') 25 return 26 else: 27 ipv4.append(p.search(x)[0]) 28 return ipv4 29 if __name__ == "__main__": 30 doctest.testmod() 31 ipv4 = gethost() 32 print(ipv4)
windows系統常見的獲取IP地址有兩種,但是結果都不太理想。
通過import socket來獲取IP地址,在多網絡卡情況下,無法獲取到想要的結果。
本程式可以獲取本機所有IPv4地址,結果以列表形式返回。