使用 argparse 调用函数[重复]

2024-01-01

我在从 argpars 调用函数时遇到问题。这是我的脚本的简化版本,可以打印我给 -s 或 -p 的任何值

import argparse

def main():

    parser = argparse.ArgumentParser(description="Do you wish to scan for live hosts or conduct a port scan?")
    parser.add_argument("-s", dest='ip3octets', action='store', help='Enter the first three octets of the class C network to scan for live hosts')
    parser.add_argument("-p", dest='ip', action='store',help='conduct a portscan of specified host')

    args = parser.parse_args()

    print args.ip3octets
    print args.ip

然而,这对我来说在逻辑上是相同的,会产生错误:

import argparse

def main():

    parser = argparse.ArgumentParser(description="Do you wish to scan for live hosts or conduct a port scan?")
    parser.add_argument("-s", dest='ip3octets', action='store', help='Enter the first three octets of the class C network to scan for live hosts')
    parser.add_argument("-p", dest='ip', action='store',help='conduct a portscan of specified host')

    args = parser.parse_args()

    printip3octets()
    printip()

def printip3octets():

    print args.ip3octets

def printip():

    print args.ip

if __name__ == "__main__":main()

有谁知道我哪里出错了?


It is not相同,参见这个问题 https://stackoverflow.com/questions/146359/python-scope解释原因。

你有(至少)2个选择:

  1. 通过args作为函数的参数
  2. Make args一个全局变量。

我不确定其他人是否同意,但就我个人而言,我会将所有解析器功能移至if声明,即主要内容如下所示:

def main(args):
    printip3octets(args)
    printip(args)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 argparse 调用函数[重复] 的相关文章

  • 在 pandas 中单独打印一列的原始值?

    我有一个数据框 df pd DataFrame name george age 23 name anna age 26 现在我想检索乔治的年龄 df df name george age 但这会输出一些额外的信息以及原始值 0 23 Nam
  • 如何在 Google App Engine 的 Python 中获取 StringProperty 的值?

    如何获取 nbd Model 的值 我想返回由多个字段组成的描述 但我无法让它工作 这是我的班级代码 class User ndb Model name ndb StringProperty email ndb StringProperty
  • 最小二乘法拟合直线 python 代码

    我有一个由 X 和 Y 坐标组成的散点图 我想使用直线的最小二乘拟合来获得最佳拟合线 直线最小二乘拟合是指 如果 x 1 y 1 x n y n 是测量数据对 则最佳直线是y A Bx 这是我的Python代码 number of poin
  • python 3 argparse 调用函数

    我想在 python3 中创建一个类似命令行 类似 shell 的界面 Argparse 似乎负责解析和显示帮助 错误消息 根据argparse 的 python3 文档 https docs python org 3 5 library
  • 类型错误:float() 参数必须是字符串或数字,而不是“列表”python

    我的 Python 有问题 这是我的代码 def calcola a input b float a 0 split c float a 0 split d float a 0 split e float a 0 split j float
  • Paramiko SSHException 通道已关闭

    我一直在使用 Paramiko 在 Linux Windows 机器上发送命令 它可以很好地在 Ubuntu 机器上远程执行测试 但是 它不适用于 Windows 7 主机 以下是我收到的错误 def unit for event self
  • 将一维数组转换为下三角矩阵

    我想将一维数组转换为较低的零对角矩阵 同时保留所有数字 我知道numpy tril函数 但它用零替换了一些元素 我需要扩展矩阵以包含所有原始数字 例如 10 20 40 46 33 14 12 46 52 30 59 18 11 22 30
  • numpy:大量线段/点的快速规则间隔平均值

    我沿着一维线有许多 约 100 万个 不规则间隔的点 P 这些标记线段 这样 如果点是 0 x a x b x c x d 则线段从 0 gt x a x a gt x b x b gt x c x c gt x d 等 我还有每个段的 y
  • Django 不会以奇怪的错误“AttributeError: 'module' object has no attribute 'getargspec'”启动

    我对 Django 的内部结构有点缺乏经验 所以我现在完全陷入困境 它昨天起作用了 但我不记得我改变过任何重要的东西 当我转身时DEBUG True任何恰好位于列表中第一个的模块上都有堆栈跟踪 Traceback most recent c
  • scikit-learn 和tensorflow 有什么区别?可以一起使用它们吗?

    对于这个问题我无法得到满意的答案 据我了解 TensorFlow是一个数值计算库 经常用于深度学习应用 而Scikit learn是一个通用机器学习框架 但它们之间的确切区别是什么 TensorFlow 的目的和功能是什么 我可以一起使用它
  • 在 iPython/pandas 中绘制多条线会生成多个图

    我试图了解 matplotlib 的状态机模型 但在尝试在单个图上绘制多条线时遇到错误 据我了解 以下代码应该生成包含两行的单个图 import pandas as pd import pandas io data as web aapl
  • Pandas groupby apply 执行缓慢

    我正在开发一个涉及大量数据的程序 我正在使用 python pandas 模块来查找数据中的错误 这通常工作得非常快 然而 我当前编写的这段代码似乎比应有的速度慢得多 我正在寻找一种方法来加快速度 为了让你们正确测试它 我上传了一段相当大的
  • Pandas:将 pytz.FixedOffset 应用于系列

    我有一个带有timestamp列看起来像这样 0 2020 01 26 05 00 00 08 00 1 2020 01 26 06 00 00 08 00 Name timestamp dtype datetime64 ns pytz F
  • 将列表中的 None 替换为最左边的非 none 值

    Given a None 1 2 3 None 4 None None I d like a None 1 2 3 3 4 4 4 目前我已经用以下方法强制它 def replaceNoneWithLeftmost val last Non
  • Jupyter Notebook 中的深色模式绘图 - Python

    我正在使用 Jupyter Notebook 目前正在使用 JupyterThemes 的深色日光主题 我注意到我的绘图不是处于黑暗模式 并且文本仍然是黑色并且在日光照射的背景上无法读取 JupyterThemes 的自述文件建议在 ipy
  • 如何分析组合的 python 和 c 代码

    我有一个由多个 python 脚本组成的应用程序 其中一些脚本正在调用 C 代码 该应用程序现在的运行速度比以前慢得多 因此我想对其进行分析以查看问题所在 是否有工具 软件包或只是一种分析此类应用程序的方法 有一个工具可以将 python
  • Python:无法使用 os.system() 打开文件

    我正在编写一个使用该应用程序的 Python 脚本pdftk http www pdflabs com tools pdftk the pdf toolkit 几次来执行某些操作 例如 我可以在 Windows 命令行 shell 中使用
  • 如何从 nltk 下载器中删除数据/模型?

    我在 python3 NLTK 中安装了一些 NLTK 包 通过nltk download 尝试过它们 但不需要它们 现在想删除它们 我怎样才能删除例如包large grammars来自我的 NLTK 安装 我不想删除完整的 NLTK 安装
  • Java/Python 中的快速 IPC/Socket 通信

    我的应用程序中需要两个进程 Java 和 Python 进行通信 我注意到套接字通信占用了 93 的运行时间 为什么通讯这么慢 我应该寻找套接字通信的替代方案还是可以使其更快 更新 我发现了一个简单的修复方法 由于某些未知原因 缓冲输出流似
  • 在python中对列表列表执行行总和和列总和

    我想用python计算矩阵的行和和列和 但是 由于信息安全要求 我无法使用任何外部库 因此 为了创建矩阵 我使用了列表列表 如下所示 matrix 0 for x in range 5 for y in range 5 for pos in

随机推荐

  • C++ 全局常量问题

    我们在一系列文件中定义了这些 实用 常量集 问题源于这样一个事实 太多文件包含这些全局常量文件 如果我们向其中一个文件添加常量并尝试构建 它会构建整个库 这需要一个多小时的时间 有人能为这种方法提出更好的方法吗 我们将不胜感激 首先 如果您
  • 查找数组中是否包含 2 旁边的 2

    我被这个问题困住了 给定一个整数数组 如果该数组某处的 2 旁边包含 2 则返回 True has22 1 2 2 True has22 1 2 1 2 False has22 2 1 2 False 我知道基本思想 存在语法错误 但我无法
  • Python TypeError:不支持的操作数类型 -:“float”和“NoneType”

    有谁知道为什么我会收到这样的错误 TypeError unsupported operand type s for float and NoneType 如果你这样做 我将非常感激 我对此很陌生 正在努力学习 但我真的陷入了 Python
  • 将模型传递给局部视图

    我有一个 Address 部分视图 该部分视图包含与地址模型匹配的所有地址字段 在此视图的顶部 我将模型设置如下 模型数据 地址 在我的 CustomerInfo 视图中 我尝试以下操作将地址字段呈现为表单的一部分 Html Partial
  • git - 默认推送到 --recurse-submodules=check

    我总是忘记推送子模块 有时我忘记添加 recurse submodules check to git push 更糟糕的是 我团队中的其他人可能也会这样做 有没有git config我们可以设置的选项check默认值 Git v2 7 0
  • Task.Delay().Wait() 发生了什么?

    我很困惑为什么Task Delay Wait takes 4 倍多的时间 then Thread Sleep E g task 00正在运行仅线程 9并采取了2193ms 我知道 同步等待在任务中很糟糕 因为整个线程被阻塞 它只是为了测试
  • 清除 MATLAB 中的类定义

    命令clear classes清除当时加载到内存中的所有类定义 是否可以仅清除特定的类定义 编辑 我有兴趣删除特定的课程定义来自内存 而不是类实例 当我编写新的 HPF 类时 我自己也遇到了这个问题 所以我尝试了一些事情 因为当我调试新类时
  • CI/CD 的 Helm 图表版本

    我为 CI CD 管道设置了一个 helm 存储库 但我遇到的一件事是 helm 的版本控制系统 该系统专注于语义版本控制系统 如下所示x x x 我希望能够指定 暂存 最新 和 生产 等标签 尽管我能够成功上传带有字符串版本的图表 NAM
  • 全文搜索和 Python

    有人可以帮我推荐一个支持 Python 的全文搜索引擎吗 现在我们已经有了一个 MySQL 数据库 我想添加一个功能 让全文搜索引擎索引该数据库中某些表中的某些文本 Web 应用程序将使用此文本数据来搜索数据库中的相应记录 例如 在客户表中
  • 正则表达式匹配非行首

    我有以下 XML 标签
  • Jquery .serialize() 不处理下拉列表的值?

    我认为这应该是一件简单的事情 但由于某种原因 除了下拉列表的选定值之外 我的所有表单值都被很好地序列化 表单如下
  • C#.net 将带有附件的电子邮件排队发送的最佳方法

    我正在寻找一种更安全地从我们的应用程序发送电子邮件的方法 目前 我们直接将电子邮件发送到 IIS SMTP 服务器 但正在寻找在服务器出现故障 重新启动等情况下更安全地传送电子邮件的方法 我正在考虑实现此目的的一种方法是将电子邮件 带有附件
  • AttributeError:“AuthorizedSession”对象没有属性“configure_mtls_channel”

    我正在使用 Cloud Composer 编排两个数据流作业 并且一个月以来运行良好 突然 这两个作业停止工作 并出现以下错误消息 在 download blob 文件中 usr local lib python3 6 site packa
  • 更改 MKMapView 的地图类型

    我正在尝试开发一个界面 供用户更改mapType 视图 我想通过在地图视图的右下角添加折叠效果来实现这一点 用户可以在右下角按下或按下并拖动 地图将折叠起来足以显示 3 种不同的地图类型 常规 混合和卫星 这与 iPhone 上的谷歌地图具
  • Bootstrap JS 函数未在 Rails 6/Webpacker 中加载

    使用 Webpacker 和 Rails 6 攀登学习曲线 我已经使用 Yarn 和 Webpack 安装了 Bootstrap 4 当我尝试在浏览器的 JS 控制台中使用 Bootstrap 组件时 我得到 TypeError fn bu
  • Twitter BootStrap 模态窗口后备链接

    我正在使用 Twitter Bootstrap 模式窗口 以防万一模态窗口由于 js 错误而无法工作 有一个后备页面 如果模式窗口未加载 如何确保页面已加载 打开模态窗口的链接 a href login modal Login a 模态窗口
  • 如何将本地文件夹连接到 Git 存储库并开始在分支上进行更改?

    我是源代码管理新手 过去 我手动备份文件副本并对克隆进行更改 然后在调试后将更改手动传输到主文件 我意识到这类似于分支与 Git 存储库的工作方式 但我从未使用过 我下载了 Git 并在 GitLab 上注册了一个帐户 并开始了一个新项目
  • Haxe——像 ActionScript 一样嵌入文件?

    在 ActionScript 中 您可以执行以下操作 Embed source src myfile xml mimeType application octet stream private var xml Class 它会嵌入您的文件以
  • 先前操作未完成的问题

    我对 Linux 相当陌生 我正在尝试安装 openCV 软件 我正在安装一些东西 突然断电并且中断了 当我重新安装它时 我不断收到此错误 svn E155037 Previous operation has not finished ru
  • 使用 argparse 调用函数[重复]

    这个问题在这里已经有答案了 我在从 argpars 调用函数时遇到问题 这是我的脚本的简化版本 可以打印我给 s 或 p 的任何值 import argparse def main parser argparse ArgumentParse