最佳答案
当 Unix 上的 Python 脚本出现错误时,会发送一封电子邮件。
如果 IP 地址是192.168.100.37(测试服务器) ,我被要求在电子邮件的主题行添加{ TestingEnvironment }。通过这种方式,我们可以有一个脚本版本和一种方法来判断电子邮件是否来自测试服务器上混乱的数据。
然而,当我谷歌我不断发现这个代码:
import socket
socket.gethostbyname(socket.gethostname())
然而,这给我的 IP 地址是127.0.1.1。当我使用 ifconfig
时,我得到了这个
eth0 Link encap:Ethernet HWaddr 00:1c:c4:2c:c8:3e
inet addr:192.168.100.37 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:75760697 errors:0 dropped:411180 overruns:0 frame:0
TX packets:23166399 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:59525958247 (59.5 GB) TX bytes:10142130096 (10.1 GB)
Interrupt:19 Memory:f0500000-f0520000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:25573544 errors:0 dropped:0 overruns:0 frame:0
TX packets:25573544 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:44531490070 (44.5 GB) TX bytes:44531490070 (44.5 GB)
首先,我不知道它是从哪里得到127.0.1.1的,但不管怎样,这不是我想要的。当我谷歌我一直来到相同的语法,巴斯脚本或网络面,我试图使用标准库。
那么如何获得 Python 中 eth0的 IP 地址呢?