Python命令行引导用户填写可用IP地址与端口号的实现方案

清欢
清欢
发布时间:2026-10-11| 3人浏览过
原创

本文演示如何在Python脚本中构建命令行交互流程,引导用户输入并校验IP地址与端口号。通过循环检测连通性、自定义终端彩色输出以及保留历史输入的断点续填机制,解决手动配置网络参数的容错问题,提供完整的代码结构与界面反馈说明。

实现思路与核心逻辑

在开发依赖网络连接的命令行工具时,直接硬编码目标地址缺乏灵活性。合理的做法是启动程序后,立即进入交互式校验循环。程序首先尝试建立基础连接,若当前会话不可达(可达=False),则调用补全方法向控制台发起输入请求。用户填入数据后,系统自动进行连通性测试。通过自定义打印模板与颜色标识,将成功状态显示为绿色,失败状态显示为红色,从而形成清晰的视觉反馈闭环。

完整代码结构

以下为核心逻辑实现。代码通过while True维持监听,利用打印库管理界面渲染与颜色标识,并自动尝试安装缺失的依赖模块。

# -*- coding:UTF-8 -*-
"""
@author: dyy
@contact: douyaoyuan@126.com
@time: 2023/11/23 10:29
@file: 引导用户填写可用的ip地址和端口号.py
@desc: xxxxxx
"""
# region 引入必要的依赖
import os
模块名 = 'DebugInfo'
try:
    from DebugInfo.DebugInfo import *
except ImportError as impErr:
    print(f"尝试导入 {模块名} 依赖时检测到异常:{impErr}")
    print(f"尝试安装 {模块名} 模块:")
    try:
        os.system(f"pip install {模块名}")
    except OSError as osErr:
        print(f"尝试安装模块 {模块名} 时检测到异常:{osErr}")
        exit(0)
    else:
        try:
            from DebugInfo.DebugInfo import *
        except ImportError as impErr:
            print(f"再次尝试导入 {模块名} 依赖时检测到异常:{impErr}")
            exit(0)
# endregion
看板 = 打印模板()
everything接口 = ssh接口类()
while True:
    if everything接口.可达:  # everything接口可以链接
        break
    else:
        everything接口.ssh接口补全(补地址=True, 补端口=True, 画板=看板.副本)
    if everything接口.可达:
        break
    else:
        看板.消息(红字('everything接口不通'))
看板.消息(f'您提供的ip地址({绿字(everything接口.主机地址)})和端口({绿字(everything接口.端口号)})可以连通')

运行效果与状态反馈

当用户按提示成功配置主机地址与端口后,程序会立即执行底层连通性检查。确认链路正常后,循环终止并打印最终配置摘要。控制台会以特定格式高亮显示已验证有效的IP与端口信息,便于快速核对。

命令行成功显示已配置的IP和端口号结果图
程序校验通过后,终端展示最终生效的网络参数

断点续填与异常处理

在实际运维或调试场景中,用户初次输入的IP或端口往往存在拼写错误或网络波动导致的连接失败。优秀的命令行工具不应强制用户从头清空重填,而应在二次触发补全交互时,自动带入上一次的有效参数或默认值,作为修改基准。配合异常状态提示,用户可以仅修正差异字段,大幅降低误操作成本与重复录入时间。

命令行报错并保留上次输入内容等待更正的示意图
连接失败时程序保留历史输入供快速修正

简要总结

通过引入循环检测、终端彩色反馈与上下文记忆逻辑,可以显著提升Python命令行工具在网络参数配置环节的可用性。开发者可参考上述结构,将其中的UI渲染模块替换为自身项目现有的日志或终端组件,即可无缝集成到自动化运维脚本或数据部署流程中。以上就是Python命令行引导用户填写可用IP地址与端口号实现的详细内容,更多关于Python终端交互工具开发的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。