隐藏输入并仅显示输出(PYTHON)以及另一个小问题

问题描述 投票:0回答:2

我正在使用套接字在python中创建nslookup实用工具。

代码:

import socket


while True:
    try:
        server = input()
        ip_addr = socket.gethostbyname(server)
        print(server, ip_addr, '\n')
    except socket.gaierror:
        print(server, 'unable to find ip')
        break

返回:

google.comgoogle.com 172.217.8.14

yahoo.comyahoo.com 98.138.219.231

domain.domain.domaindomain.domain.domain无法找到ip

stackoverflow.com


所以我想隐藏输入,以便仅显示以下内容:

google.com 172.217.8.14

yahoo.com 98.138.219.231

domain.domain.domain找不到IP


[我还注意到,最后一个条目永远不会通过脚本运行,我必须手动按Enter键以查找“ stackoverflow.com”来查找IP。反正附近吗?

我先感谢您的帮助!谢谢!

python python-3.x sockets dns ip-address
2个回答
1
投票

只需不打印服务器名称,这将起作用:

import socket


while True:
    try:
        server = input()
        ip_addr = socket.gethostbyname(server)
        print(ip_addr, '\n')
    except socket.gaierror:
        print('unable to find ip')
        break

此外,您还必须按Enter键,当您完成写作后,口译员将无法理解


0
投票

如果需要,可以尝试使用getpass而不是输入。

例如

import getpass.getpass

server = getpass()
© www.soinside.com 2019 - 2024. All rights reserved.