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

使用命令行界面运行Python脚本

我们可以在命令行上键入不同的参数并将这些参数传递到脚本中,而不是每次运行脚本时都更改.py文件中的代码。因此,使用CLI是非常灵活和方便的,而且,从黑屏启动程序会让你更酷,更像一个真正的程序员。...导航到文件所在的目录,在命令提示符中键入以下命令: sys_argv.py hello world 1,2,3 这将执行sys_argv.py,并将在“sys_argv.py”之后键入的任何内容作为参数传递到程序中...注意,在CLI中只使用sys.argv是完全可以的。 步骤5:介绍argparse库 argparse是一个标准的Python库,因此不需要专门安装它。...最后,我们将所有解析的参数赋值到一个名为args的变量中,可以通过调用args.input、args.output和args.pages来访问每个参数。...__name__是Python中的一个特殊变量。当源文件作为主程序执行时(即从IDLE或命令行运行脚本),__name__将被设置为字符串”__main__”。

2.9K30

Python笔记:外部参数传入考察(一)argparse库

简介 在编程中,我们往往会遇到需要通过外部参数来控制脚本运行模式的情况,在通用的框架类代码中,这种情况尤为明显,因此,这里,我们来考察一下如何将参数传入到脚本文件中,而不是作为固定参数写死在脚本当中。...因此,使用sys.argv的方式进行参数传递是一种可行的方式,但是绝不是一种值得推荐的方法,更多的情况下,我们会使用argparse库来进行参数的传递。...一种暴力的做法就是通过上述枚举类型将输入参数限制在true与false当中,然后人为的进行字符串判断重新来完成bool类型的功能。...其他小tips 1. argparse参数的存储方式 argparse中的参数均是以key-value形式存储于namespace中的,我们可以调用_get_kwargs()方法进行查询。...后记 上述就是我对于使用argparse库进行参数传递的知识整理,算是结合了我的使用经验再补充上我能想到的一些可能会出现的问题进行的一个较为系统的知识整理。

4.3K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python学习之argparse模块

    () 解释:首先导入该模块;然后创建一个解析对象;然后向该对象中添加你要关注的命令行参数和选项, 每一个add_argument方法对应一个你要关注的参数或选项;最后调用parse_args()方法进行解析...表示只用一个,'*'表示0到多个,'+'表示至少一个 default:默认值 type:参数的类型,默认是字符串string类型,还有float、int等类型 help:和ArgumentParser方法中的参数作用相似...例如,如果fromfile_prefix_chars='@',命令行参数中有一个为"@args.txt",args.txt的内容会作为命令行参数  add_help - 是否增加-h/-help选项(default...最后,一旦你已经定义好了所有的命令行参数,调用 parse_args() 来解析程序的命令行: (options, args) = parser.parse_args() 注: 你也可以传递一个命令行参数列表到...也正如上面所示,长参数名也是可选的。其实,dest 参数也是可选的。如果没有指定 dest 参数,将用命令行的参数名来对 options 对象的值进行存取。

    1.9K20

    Python | 使用argparse解析命令行参数

    比较好的办法就是把必要的参数设置成通过命令行传入的形式,这样我们只需要在运行的时候修改参数就可以了。...argv是一个数组,如果参数有多个,我们可以通过下标进行访问。但是有一点需要注意,argv当中存储的结果是从Python调用开始的。...choices参数传入的是一个list,也就是我们的限定范围,只有在这个范围当中的值才被允许。...除了这两个之外,另外一个很常用的参数是append,可以将多次出现的同一个参数自动存入一个list当中。...nargs nargs也是一个非常有用的参数,可以对参数进行一些花式操作。nargs的传入参数有以下几种,首先是N,也就是一个整数。代表可以接收N个参数值,这N个值会被存入一个list当中。

    2K10

    Python解析参数的三种方法

    第一个选项是使用 argparse,它是一个流行的 Python 模块,专门用于命令行解析;另一种方法是读取 JSON 文件,我们可以在其中放置所有超参数;第三种也是鲜为人知的方法是使用 YAML 文件...后一个文件是一个 Python 文件,我们可以从中更改 train.py 中考虑的超参数: import argparse def train_options(): parser = argparse.ArgumentParser...在这种情况下,我们将 options.py 文件替换为 JSON 文件。换句话说,我们想在 JSON 文件中指定超参数的值并将它们传递给 train.py 文件。...与 argparse 库相比,JSON 文件可以是一种快速且直观的替代方案,它利用键值对来存储数据。下面我们创建一个 options.json 文件,其中包含我们稍后需要传递给其他代码的数据。...与 JSON 文件一样,我们将 Python 代码中的 YAML 文件作为字典读取,以访问超参数的值。

    86120

    使用Python进行人脸聚类的详细教程

    银行的安全摄像头工作正常,捕捉到了抢劫行为,但劫匪戴着头套,没办法看到他们的脸。 劫匪将现金藏在衣服下面逃离银行,摘掉面具,并将它们扔在附近的垃圾桶中,以免在公众场合显得可疑。...在这里,我将帮助你编写两个Python脚本: 一个用于提取和量化数据集中的人脸 另一个是对面部进行聚类,其中每个结果聚类(理想情况下)代表一个独特的个体 然后,我们将在样本数据集上运行我们的人脸聚类管道并检查结果...” ] 作为路径+文件名,我们将数据列表作为序列化的pickle文件写入磁盘(第3-5行)。...–jobs:DBSCAN是多线程的,可以将参数传递给包含要运行的并行作业数的构造函数。值 – 1 的意思为使用所有可用的CPU(也是该命令行参数的默认值)。...面对聚类结果 此脚本只需要一个命令行参数 – 编码文件的路径。

    6.1K30

    Python argparse标准库快速入门

    argparse.REMAINDER,它会将后面所有值读取为一个参数,通常用作向其他命令行传递参数用。...当然比较特殊的一个是open,它会将参数作为文件来打开。 如果默认的open还不能满足,还可以使用argparse.FileType,它提供了读写模式、文件编码、缓冲区大小等详细设置。...如果参数是单字母长度的,可以将参数和值直接写在一起。...如果参数比较多,可以使用参数组的方式将功能相近的参数进行分组,这样不管是开发人员还是使用人员都能更清晰的使用参数。 互斥参数组。如果某些参数不能同时使用,可以将它们加到互斥参数组中。 部分解析。...它不会因为未知参数报错, 而且会将所有不认识的参数存储成一个列表作为第二个返回值。 简单实例 扯了大半天,大家可能还是有点不会用argparse,不过其实只要看一个简单的例子就可以了。

    91010

    Python 命令行之旅:使用 argparse 实现 git 命令

    前言 在前面三篇介绍 argparse 的文章中,我们全面了解了 argparse 的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。...本文将以我们日常工作中最常见的 git 命令为例,讲解如何使用 argparse 库来实现一个真正可用的命令行程序。 本系列文章默认使用 Python 3 作为解释器进行讲解。...cli 函数来作为统一的入口,它负责构建解析器,并解析命令行参数 我们还需要四个 handle_xxx 函数响应对应的子命令 则基本结构如下: import os import argparse from...实现 假定我们在 argparse-git.py[2] 文件中实现我们的 git 程序。 构建解析器 我们需要构建一个父解析器,作为程序的根解析器,程序名称指定为 git。...然后就直接轻松愉快地获取解析后的参数信息呢? 在下篇文章中,将为大家讲解另一个站在一个全新的思路,又无比强大的库 docopt。

    68320

    利用OpenAI和NVIDIA Riva,在Jetson上搭建一个AI聊天机器人

    通过利用深度学习技术的能力,这项技术生成的语音非常接近人类语音,具有准确的发音和细致的表达。开发人员甚至可以调整参数以实现所需的语音特征。...Riva 的 TTS 在虚拟助手、有声读物和辅助性解决方案等多个领域都有应用。 揭示 OpenAI API OpenAI API 为开发人员提供了将先进的自然语言处理能力无缝集成到其应用程序中的机会。...项目介绍 方案架构: 来自麦克风的语音输入通过 Riva 的自动语音识别(ASR)库转换为文本,然后传递给 OpenAI API。...您已通过在 /etc/docker/daemon.json 文件中添加以下行,将 Jetson 平台上的默认运行时设置为 nvidia。...如何获取麦克风返回的信息? 将麦克风流作为迭代打开,然后迭代 asr_service.streaming_response_generator() 中的每个响应。

    79720

    python argparse处理命令行参数

    对于脚本编程而言,经常需要从命令行传递参数到脚本中。对于命令行参数的定义和使用,有一套完整的规则,以linux上的ls命令为例 ls --help Usage: ls [OPTION]......位置参数是必须提供的,前面不需要短横杠的修饰,直接就是参数名称,ls命令的用法示意如下 ls -l dir 其中-l就是一个选项, dir则是一个位置参数, 要在python脚本中实现这样的命令行传参,...可以借助内置模块argparse来实现,基本用法示意如下 import subprocess import argparse import shlex # 定义一个命令行参数解析器 parser = argparse.ArgumentParser...,默认参数都是一个值,指定该参数,则参数的值用列表存储,比如nargs=1, 此时参数为长度为1 的列表,用法如下 # 指定一个具体的数值,对参数的个数进行限定 # 提供的参数个数不对,会报错 >>>...,提供了强大的命令行传参方式,尽管在python中还有其他模块也提供了命令行参数的处理功能,但是官方还是首推使用argparse来处理命令行参数。

    1.6K20

    一段代码被老大要求重构了六次,我心态崩了

    你去了解一下lambda表达式和函数式接口知识点,再修改一下你的代码。我已经确定了,他就是和我过不去? 第四次 将行为作为参数传递 经过上面的三番折腾。...其实我们可以发现,我们每写一个方法,都对应一种查询行为,查询行为必然对应一种过滤条件。有没有办法我们写一个方法,将查询行为作为参数传递进去,从而返回我们的结果呢?...那么给它取了一个名字:行为参数化,在下图中进行了说明(左侧显示了我们现在拥有的;右侧显示了我们想要的),有没有发现样板代码会明显减少?...目前,我们利用策略设计模式,将查询行为进行了抽象。我们还需要一个方法接收 MelonPredicate 参数。...我还是需要编写大量的代码实现此次需求。设计匿名内部类的目的,就是为了方便 Java 程序员将代码作为数据传递。

    44620

    用Click编写Python命令行工具

    根据CLI的复杂性,通常可以将参数传递给脚本,可以是: 1.参数,它是传递给脚本的必需参数。如果您不提供它,CLI将返回一个错误。...Click更实际的PythonCLI示例 现在你已经知道click是如何使得建立一个简单的CLI更容易了,我们将看一个稍微更现实的例子。我们将构建一个允许我们与Web API 进行交互的程序。...它需要一个强制的参数location,它被假定为一个字符串。 我们还可以通过在函数调用中传递api_key来提供API密钥。 它是可选的,可以使用示例键作为默认值。...我们先来看一个简单的例子,通过定义参数的位置来修改它。 ? 你可以看到,我们所要做的就是添加一个额外的装饰器到我们的主要功能,并给它一个名字。Click使用该名称作为变量传递到包装函数的参数中。...在我们的例子中,命令行参数location的值将作为位置参数传递给主函数。有道理吧? 你也可以在你的名字中使用破折号( - ),例如api-key,在这个函数中,Click会将名字的中划线变为下划线。

    3.4K10

    Python 的 argparse 模块的作用,以及分享一个通用代码模板

    使用 argparse 模块,可以轻松编写用户友好的命令行界面。程序定义了它需要的参数,argparse 就会找出如何从 sys.argv 中解析出这些参数。...位置参数:这些参数是在命令行中按照顺序传递的,不带前缀。例如,parser.add_argument("filename") 表示一个位置参数,用户需要提供一个文件名。...parser.add_argument 依次为解析器添加了各个参数。例如,第一个参数名称为 “–task_name”,这意味着从命令行运行脚本时,可将其作为 --task_name 传递。...添加所有参数后,会调用 parser.parse_args() 来解析运行脚本时提供的命令行参数,并将提取的数据放入 argparse.Namespace 对象中。...位置参数是根据其在命令行中出现的位置来处理的,而可选参数则可以根据用户的选择进行设置。 ️

    21500

    使用 Pandas, Jinja 和 WeasyPrint,轻松创建一个 PDF 报表

    ,这将允许我们以在 Pandas 中难以做到的方式格式化我们的一些数据 为了在我们的应用程序中使用 Jinja,我们需要做 3 件事: 创建模板 将变量添加到模板上下文中 将模板渲染成 HTML 我们先创建一个简单的模板...我们假设模板位于当前目录中 另一个关键组件是 env 的创建,这个变量是我们将内容传递给模板的方式。...,这将创建一个字符串,我们最终将传递给我们的 PDF 创建引擎 html_out = template.render(template_vars) 生成 PDF PDF 创建部分也相对简单,我们需要做一些导入并将一个字符串传递给...包含允许我们引入一段 HTML 并在代码的不同部分重复使用它。在这种情况下,摘要包含一些我们希望在每个报告中包含的简单的国家级统计数据,以便管理人员可以将他们的绩效与全国平均水平进行比较。...这是使用 Jinja 过滤器的一个具体示例 还有一个 for 循环允许我们在报告中显示每个经理的详细信息。

    2K20

    python | argparse传递参数

    通过命令行的形式来传递参数,使得配置参数容易起来。...用于标识参数的参数,必须有,通常以-或–来表示 from argparse import ArgumentParser parse = ArgumentParser.add_argument('--s'...=’*’ 表示任意个参数 nargs=’+’ 表示至少一个参数 default 默认值 type 参数的数值类型 choices 给定候选的值 required 是否为必须给定的参数...help 参数解释 dest 这个参数相当于把位置或者选项关联到一个特定的名字 metavar 这个参数用于help信息输出中 案例 第一步:定义函数 import os...均可使用,metavar用来生成帮助信息,required表明这个参数是必须有的,dest指参数的名称,action指执行的逻辑,help是帮助信息,type是指参数类型 parser.add_argument

    1.9K60
    领券