当前位置: 首页 > news >正文

python脚本获取本机IP的方式

#方法一:
#!/usr/bin/python
import socket
import fcntl
import struct
def get_ip_address(ifname):
    s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    return socket.inet_ntoa(fcntl.ioctl(
    s.fileno(),
    0x8915,
    struct.pack('256s',ifname[:15])
    )[20:24])
print(get_ip_address('br0'))
#方法二:
import socket, fcntl, struct #fcntl用于linux系统
def get_local_ip(ifname):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    inet = fcntl.ioctl(s.fileno(), 0x8915, struct.pack('256s', ifname[:15]))
    ret = socket.inet_ntoa(inet[20:24])
    return ret
print(get_local_ip("br0"))
#方法三:
import socket
print(socket.gethostbyname(socket.getfqdn(socket.gethostname())))
#请本地hosts文件配置电脑名指向本机对应IP,否者有可会报名或示127.0.0.1回环地址

http://www.lryc.cn/news/379987.html

相关文章:

  • 查看LabVIEW及各个模块和驱动的版本号
  • LLM主流架构和模型
  • 为企业提供动力:用于大型组织的WordPress
  • Django框架数据库ORM查询操作
  • font-spider按需生成字体文件
  • 双叒叕-一个-Android-MVVM-组件化架构框架?
  • STM32单片机BKP备份寄存器和RTC实时时钟详解
  • vue3+ts 使用vue3-ace-editor实现Json编辑器
  • 黑马HarmonyOS-NEXT星河版实战
  • PCL 三次样条插值(二维点)
  • HTTP/3 协议学习
  • 数据库-数据定义和操纵-DML语言的使用
  • BeanUtils.populate()的用法总结
  • IDEA 学习之 热加载问题(Hot Swap)
  • 计算机组成原理----指令系统课后习题
  • yolov8环境搭建+训练自己数据集
  • Eureka 学习笔记(1)
  • 视觉新纪元:解码LED显示屏的视角、可视角、最佳视角的最终奥秘
  • Benchmarking Panoptic Scene Graph Generation (PSG), ECCV‘22 场景图生成,利用PSG数据集
  • Linux 文件权限
  • IOS Swift 从入门到精通:算术运算,运算符重载,符合赋值运算,比较运算,条件,结合条件,三元运算,Swift语句,范围运算
  • Flutter开发环境搭建和调试
  • 【IC验证】UVM实验lab03
  • document.write()方法总结
  • C#循环语句总结
  • Spring-bean
  • Linux常用命令(14)—查看文件内容(有相关截图)
  • 【html】用html+css实现银行的账户信息表格
  • 两种单例模式(保证线程安全)
  • 开发 Golang 项目的 Docker 化案例