You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python网络扫描器参数判断if语句逻辑相反如何正确赋值变量?

问题修复方案

核心错误原因

get_arguments()返回的是argparse.Namespace类型的对象,不可能等于空字符串"",因此你写的if options == ""条件永远不成立,所有场景都会走else分支,导致逻辑和预期完全相反。你需要判断的是参数里的target字段是否为空,未传入参数时options.target的值为None。

修正后的判断逻辑

将代码末尾的if-else替换为以下内容即可:

if not options.target:
    # 未传参时使用默认网段
    scan_result = scan(ip_range)
else:
    # 传参时使用用户指定的目标地址/网段
    scan_result = scan(options.target)

额外注意事项

你代码首行的shebang声明少了斜杠,修正为#!/usr/bin/env python,否则直接执行脚本时会触发报错。

内容的提问来源于stack exchange,提问作者Kurdish Learner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 19:36:03