我有一个包含域和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