我正在将Bash代码转换为Python代码。 在Bash代码中,我通过以下方式获取主机自己的全局IP地址:
hostname -I # output -> 19x.xxx.xxx.xxx xxxx:xxxx:....
19x.xxx.xxx.xxx是本机的全局IP地址。
我尝试在Python中获取全局IP地址,方法如下:
import socket
name=socket.gethostname()
id_address=socket.gethostbyname(name)
print("id_address = {0}".format(id_address))
输出结果是本地主机地址,例如:
127.xxx.xxx.xxx
我能否用Python获取全局IP地址?
-I
标志:显示主机的所有网络地址。此选项枚举所有网络接口上配置的地址。省略了环回接口和 IPv6 链路本地地址。与选项 -i 相反,此选项不依赖于名称解析。不要对输出的顺序做任何假设。 - VPfB