我们可以在一行或者一行打印“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
答案 0 :(得分:1)
您可以使用string formatting和切片,例如:
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
答案 1 :(得分:0)
这应该有用
python -c“import socket; print socket.getfqdn(); print socket.gethostbyname(socket.getfqdn())”