使用python中文本文件中的域获取IP地址



我有一个包含域和IP的文本文件,我想使用域名获取IP,但它返回null。

这是我的代码:

import json
import os
import sys
import pathlib
import platform
HERE = pathlib.Path(__file__).parent
def clean_server_names(name):
server_names_list = [x.lower().strip() for x in
open(HERE / "servers" / "myservers.txt", 'r').readlines()]
for server in server_names_list:
domain_name_and_code = server.split(' ')
domain = domain_name_and_code[0].strip()
ip = domain_name_and_code[-1].strip()
if name ==  domain:
print(ip)
clean_server_names("domain1.nordvpn.com ")

这是我的文本文件中的内容

domain1.nordvpn.com 192.168.1.1

你有很多不需要的代码,并且把你的意图弄得一团糟。

$ cat ./x.py                                                                                                                   
#! /usr/bin/env python3
# -*- coding: UTF8 -*-
def clean_server_names(name):
with open("servers/myservers.txt", "r") as f:
for line in f:
domain_name, ip = line.lower().split()
if name == domain_name:
print(ip)
clean_server_names("domain1.nordvpn.com")
$ cat ./servers/myservers.txt                                                                                                  
domain1.nordvpn.com 192.168.1.1
$ ./x.py                                                                                                                       
192.168.1.1

更简单:

$ awk '$1 == "domain1.nordvpn.com"{print $2}' servers/myservers.txt
192.168.1.1

最新更新