首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

写一个python脚本来读取两个参数,这两个参数是我需要到达和打印状态的主机和端口?

可以使用Python的sys模块来读取命令行参数,并使用socket模块来进行主机和端口的连接和状态打印。下面是一个示例脚本:

代码语言:txt
复制
import sys
import socket

def check_host_status(host, port):
    try:
        # 创建socket对象
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        # 设置超时时间为2秒
        s.settimeout(2)
        # 连接主机和端口
        s.connect((host, port))
        # 打印连接成功的状态
        print(f"Host {host} on port {port} is reachable.")
    except socket.error:
        # 打印连接失败的状态
        print(f"Host {host} on port {port} is not reachable.")
    finally:
        # 关闭socket连接
        s.close()

if __name__ == "__main__":
    # 读取命令行参数
    if len(sys.argv) != 3:
        print("Usage: python script.py <host> <port>")
        sys.exit(1)
    host = sys.argv[1]
    port = int(sys.argv[2])
    # 调用函数检查主机状态
    check_host_status(host, port)

使用方法: 在命令行中执行以下命令:

代码语言:txt
复制
python script.py <host> <port>

其中<host>是要检查的主机地址,<port>是要检查的端口号。

该脚本会尝试连接给定的主机和端口,如果连接成功,则打印主机可达的状态,否则打印主机不可达的状态。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 【Linux】网络基础+UDP网络套接字编程

    1. 首先计算机是人类设计出来提高生产力的工具,而人类的文明绵延至今一定离不开人类之间互相的协作,既然人类需要协作以完成更为复杂的工作和难题,所以计算机作为人类的工具自然也一定需要协作,而计算机之间的协作其实说白了就是网络通信,也就是各个主机之间的数据互通。 所以我们可以得出来结论,计算机网络的出现是必然的。 而刚开始的计算机之间确确实实是各自相互独立的,他们想要进行通信那就只能人为的拷贝数据到U盘,然后把U盘插到另一个主机上,让另一个主机来进行网络通信,只要是人参与的工作他一定是效率低的,所以为了避免这种效率低下的通信方式,第一版本的通信方案搞出来了服务器,即为多个主机之间通过一台服务器进行网络通信,每个主机可以将自己的数据发送到服务器上,其他主机想要拿到数据,则可以直接从服务器里面读取数据。

    01
    领券