我们可以打印socket.getfqdn和socket.gethostbyname';用python实现输出

我们可以打印socket.getfqdn和socket.gethostbyname';用python实现输出,python,sockets,Python,Sockets,我们是否可以将“socket.gethostbyname”和“socket.getfqdn”中的信息打印在一行中,还是一起打印。。我有下面的代码工作。。只需要再加上这个 #!/usr/bin/python import sys import socket #Name = socket.gethostbyname(host.strip()) #IPD = socket.getfqdn(host.strip()) with open("/home/karn/host1.txt", 'rw') as

我们是否可以将“socket.gethostbyname”和“socket.getfqdn”中的信息打印在一行中,还是一起打印。。我有下面的代码工作。。只需要再加上这个

#!/usr/bin/python
import sys
import socket
#Name = socket.gethostbyname(host.strip())
#IPD = socket.getfqdn(host.strip())

with open("/home/karn/host1.txt", 'rw') as f:
#     print socket.gethostbyname(host.rstrip())  socket.getfqdn(host.strip())
  for host in f:
     print socket.gethostbyname(host.rstrip())
人们期望的是:

Server_Name             IP_Address
------------------------------------
server2.example.com         192.10.1.1
server2.example.com         192.10.1.2
目前,当我运行它时,它只返回IP地址,因为我可以将“socket.gethostbyname”仅返回

192.10.1.1
192.10.1.2
192.10.1.3
可以同时使用和切片,例如:

print("{0[0]}\t{0[2][0]}".format(socket.gethostbyname_ex(host.rstrip())))
将打印

server2.example.com   192.10.1.1
server2.example.com   192.10.1.2
这应该是有帮助的

python-c“导入套接字;打印套接字.getfqdn();打印套接字.gethostbyname(socket.getfqdn())”


这是一个很好的trcik,我使用了“socket.gethostbyname_ex”来扩展和获取完整的细节,因为它返回了主机名、主机名和IP地址。但看起来你有修剪了。你能解释一下code
{0[0]}\t{0[2][0]}.format
的初始前缀吗?在Serever名称周围的一些地方,它们也有48个字符长,因此如果我能理解格式,那么我会调整格式,我只是一个学习者,试图从专家那里获得信息。
{0[2][0]}
格式说明符选择第一个(0)format参数,然后获取该列表的第三(2)个元素,并且(因为结果又是一个列表)从该列表中选择第一(第二个0)个元素。