首页
学习
活动
专区
工具
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>是要检查的端口号。

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

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

相关·内容

领券