如何从 linux 上的 python 脚本获取我的本地 IP 地址? [复制]
Posted
技术标签:
【中文标题】如何从 linux 上的 python 脚本获取我的本地 IP 地址? [复制]【英文标题】:How do I get my local ip address from a python script on linux? [duplicate] 【发布时间】:2020-10-07 23:10:58 【问题描述】:我正在尝试在 Raspberry Pi 上运行 python 服务器,我需要它的本地 IP 地址来连接。我意识到我可以输入 ifconfig 并获取我的 IP 地址,但我真的希望能够从 python 脚本中获取它。我试过socket.gethostbyname(socket.getfqdn())
,但这似乎只适用于Windows。当我在树莓派上运行它时,它似乎总是返回127.0.1.1
。有谁知道在linux上获取本地IP地址的命令吗?
【问题讨论】:
【参考方案1】:您可以使用外部包,例如 netifaces,或者您可以查找给定接口的 IP 地址,由其名称指定。看看this question。
【讨论】:
【参考方案2】:socket.gethostbyname(socket.getfqdn())
返回127.0.1.1
的原因是因为你在树莓派上的/etc/hosts
中有类似这样的一行
127.0.1.1 <host_name>
尝试将127.0.1.1
更改为您的 pi 的静态 IP 地址,它应该会正确返回。
【讨论】:
以上是关于如何从 linux 上的 python 脚本获取我的本地 IP 地址? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Linux 上的 Python:在 /etc/hostname 中获取主机名
如何将 JSON 对象从 Python 脚本发送到 jQuery?
如何从python中的xmlNode获取xpathContext
如何在使用 cx_Freeze 6.0b1 冻结的 Linux 上修复 python 3.7.3 脚本上的 numpy 依赖项路径?