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

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

标签:Python,argparse 本文将讲解如何使用带有argparse库的命令行界面运行Python脚本。...我们还将稍微调整代码,定义三个变量,而不是硬编码程序中的所有值:PDF源文件、要提取的页面,以及最终生成的PDF,此设置将允许我们在任何PDF文件上使用该程序。...注意,在CLI中只使用sys.argv是完全可以的。 步骤5:介绍argparse库 argparse是一个标准的Python库,因此不需要专门安装它。...对于(Windows)计算机上的文件路径,由于有反斜杠/,Python不喜欢未处理的文件路径;对于页面,整数列表[1,2,3]比字符串“1,2,3”更有意义,所以我们必须处理这些参数的格式。...基本上,对于file_path,我们将其转换为原始字符串,以便Python能够理解它。对于pages,我们将”1,2,3”字符串转换为整数列表。

2.9K30

python自学argparse模块

argparse模块 argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块 使用步骤 import argparse # 导入模块,这个没什么说的...='解析命令行参数') # 先不添加参数 args = parser.parse_args() # 打印一下所有参数 上面的例子运行后,由于没有添加任何参数,所以看不出什么。...+'的话表示是1个或多个,也可以使用数字或者'*' 就是允许多个参数,此时所有参数将组成一个列表,就是设为1也就一个列表和默认的情况不一样 参数候选值 使用choise关键参数,可以限定这个参数的值必须在候选的列表内...有时候我只需要一个标识而不需要一个确切的值,比如-h 和 --help。这个可以通过使用action="store_true" 来实现。...-a A python test.py -a A -a B 将输出转化为字典 上面的例子中每次打印的都是我们设置过的对象,可以使用内置函数,将参数和值转化为字典的形式 print(vars(args)

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

    python:argparse用于命令行参数解析

    argparse是python中内置的命令行解析模块,内置于python,导入即可使用。...另外还可以使用default值,当不指定一个参数的时候,参数就会使用此默认值。...a和b不指定的时候就是使用默认值,如果没有指定default,就会使用default的默认值None: >python parser-tools.py 1 Namespace(arg1=None, b...nargs可以指定一个参数接受多少个数据: N:一个整数,代表指定的个数; *:接受任意个参数,包括零个,结果是一个列表; ?...的值自动就是True或者False; append: 存储为一个列表,当需要多次使用一个参数时,可以使用; append_const: 存储为一个列表,并将const的值追加到列表中; count: 统计一个参数的出现次数

    2.6K30

    用一个 Python 脚本实现依次运行其他多个带 argparse 命令行参数的 .py 文件

    0 值得一提的是: os.system 函数的设计目标是执行系统命令,而不是获取命令的输出。...当你使用 os.system 函数时,它会在系统的 shell 中执行你提供的命令,然后返回一个状态码,表示命令是否成功执行。这个状态码通常是一个整数,0 表示命令成功执行,非零值表示出现了错误。...因此,os.system 函数的设计就是这样,它只返回命令的执行状态,而不返回命令的输出。...这些函数可以执行系统命令,并捕获命令的输出,所以如果你需要获取命令的输出,你可以考虑使用这些函数。 在 Windows 系统中,我们可以使用 dir 命令来列出目录中的文件和文件夹。...小结: 在 Python 中,可以方便地使用 os 模块来运行其他脚本或者程序,这样就可以在脚本中直接使用其他脚本或程序提供的功能,而不必再次编写实现该功能的代码。

    12000

    day11- 循环语句

    Python循环顾名思义就是重复执行某一操作,Python中循环包括while循环和for循环,while循环是通过条件判断来指定循环的范围,for循环采用遍历的形式指定循环范围。...,而我们如果要确定for循环的次数,可以使用内置函数 len() 来获取序列的长度。...生成的序列包含起始值。 stop:终止值。生成的序列不包含终止值。 step(可选):步长值,默认为1。...range函数还可以快速生成列表 my_list = list(range(5)) print(my_list) # range(5)生成一个从0到4的整数序列,list()函数将该序列转换为列表...5、while循环嵌套使用 在实际的使用过程中,我们还可以使用while循环嵌套使用,指的是一个while循环体外部再有一个循环体 比如我们每天早中晚说三次"你好",这个很简单 count = 0 while

    11210

    python-argparse

    在python程序中,第一步就是获取参数,然后程序才能执行。...对于简单的程序脚本,可以直接使用sys.argv[] 来获取命令行参数,但是应用到大的软件项目中,我们需要更加规范,更加方便而功能强大工具来处理命令行参数,本文主要介绍python标准库argparse...的简单使用,详细方法及示例请参考python标准库 python获取命令行参数 获取参数 sys.argv sys.argv[0] 为程序名称,其后分别为参数,len(sys.argv)可得出所有参数个数...python标准库中getopt, optparse, argparse都是专门处理命令行参数的模块 getopt 是类似UNIX系统getopt这个C函数的实现,可以处理长短配置项和参数。...从文件中获取参数信息 argument_default 设置参数的全局默认值 parents 包含进其他ArgumentParser对象的参数设置 conflict_handler 定义解决冲突选项的策略

    80410

    Python 命令行参数的3种传入方式

    Python 脚本的启动函数就像上的例子一样,可能需要传入几个必要参数,这个时候,如果我们在使用命令行传入的时候,就可以使用 sys.argv 这个属性,任何一个 Python 脚本在启动的时候都有这个属性...,它是一个列表,列表的第一个参数是脚本的命令,列表后面的参数就是命令行传入的参数,所以可以在脚本中提取这些参数传入到函数中运行。...小结:sys.argv 形式传入参数的方式比较简单,但是也很死板,因为传入的参数是一个有序的列表,所以在命令行中必须按照脚本规定的顺序去输入参数,这种方法比较适合脚本中需要的参数个数很少且参数固定的脚本...看一下运行成功的几个命令,首先是不传入 year 参数,而使用默认的参数: G:\Allcodes\testscripts>python test_cmd.py -n Leijun --body "are...总结 以上就是我接触和使用到的三种给 Python 脚本设置命令行参数的方法,其中第一种是我在工作中见到的其他同事写的脚本中的方式,但是我并不喜欢这种方式,因为它真的太死板了;我最喜欢的是 argparse

    1K10

    【测试开发】python系列教程:argparse 模块

    在命令行程序中,经常需要获取命令行参数。...Python内置的sys.argv保存了完整的参数列表,我们可以从中解析出需要的参数: # tesone1.py import sys print(sys.argv) source = sys.argv...通常,这些调用指定 ArgumentParser 如何获取命令行字符串并将其转换为对象。这些信息在 parse_args() 调用时被存储在ArgumentParser实例化对象中,以供后续使用。...store_const:表示赋值为const; append:将遇到的值存储成列表,也就是如果参数重复则会保存多个值; append_const:将参数规范中定义的一个值保存到一个列表; count:存储遇到的次数...args = parser.parse_args() 在脚本中,通常 parse_args() 会被不带参数调用,而 ArgumentParser 将自动从 sys.argv 中确定命令行参数。

    18910

    Python argparse 模块

    这篇文章主要是对 argparse(Python标准库中推荐的命令行解析模块) 进行简要介绍。...从这四个命令中我们可以学到一些概念: ls 命令在不接受任何参数时也是有作用的,它默认用于展示当前目录下的内容。 如果我们想它让提供非默认以外的功能,我们必须指定更多的参数。...在我们的示例中,我们为每个文件显示更多偏偏,而不仅仅是显示文件名。在这种情况下,-l被称为可选参数。 这是帮助文本的的一小段。...当我们使用 --verbosity 选项时,还必须指定一些值,任意值都可以。 上面的例子对于 --verbosity 还可以接受任意整数,但对我们的程序来说,只有 True 和 False 是有用的。...16 冲突的选项 目前为止,我们一直使用 argparse.ArgumentParser 实例的两个方法。

    1.1K20

    在Python中创建命令行界面的最佳方式

    根据程序的不同,这些参数可用于添加其他特性,如查看帮助文档、指定输出文件或启用测试特性,这些特性在正常使用时可能会出现问题。...处理错误情况:让用户确切地知道哪里出了问题 运行时状态:如果任务没有立即完成,您应该打印出当前的进度 使用argparse读取参数: Argparse是一个用于解析命令行参数的Python标准库模块。...作为程序员,您可以定义要接受的参数,而argparse将知道如何从sys中解析这些参数。当用户给程序提供无效参数时,Argparse还会自动生成帮助和使用消息,并输出错误。...通过使用.add_argument,我们可以很容易地向argparse CLI添加额外的参数,该参数允许我们定义使用细节。...现在使用argparse添加额外的参数。如果没有指定需要哪些参数,argparse将假定它们是可选的。你也可以设置参数的类型,对于——lines,我们取一个整数。

    2.6K20

    会用python把linux命令写一遍的人,进大厂有多容易?

    2018.2 - 使用模块:argparse, os 了解argparse模块 argparse是python的标准库,他可以使我们很友好的编写命令行界面,并且可以自动生成帮助文档和使用消息,还能在参数无效的时候发出错误...argparse.ArgumentParse类参数理解 1. prog:改变应用的名字,我们可以使用`%(prog)s`引用应用的名字,默认的应用名字为文件名。...- nargs='*': 将所有的参数保存在列表中 - nargs='+': 将所有的参数保存在列表中,但是至少得有一个参数 - nargs=argparse.REMAINDER: 其余的参数全部保存在一个...list中 4. default: 如果没有传入这个参数,默认使用default参数的值 5. type: 接收到的参数会经过这个参数对应的函数处理。...- -d: 指定显示目录,如果不指定,默认为当前目录。 首先我们使用 ArgumentParser 类来指定参数。

    65830

    Python argparse标准库快速入门

    Python是一门非常好用的脚本语言,自然使用它来开发命令行程序也比较方便。而且Python的标准库中有一个名为argparse的库,可以非常方便的让我们把命令行参数转换成所需的数据格式。...nargs(参数数目) 这个参数指定你的程序可以接受的参数个数,可以使用以下几个值: N(一个正整数),表示后面的N个值会被读取为参数,注意指定为1的话会变成一个单元素列表。 ?...metavar和dest metavar参数用来指定参数的显示名称,而dest用来指定参数底层使用的属性名。...而bar参数修改了dest,所以底层属性名发生了变化,但是在帮助信息中并没有什么改变。...如果参数比较多,可以使用参数组的方式将功能相近的参数进行分组,这样不管是开发人员还是使用人员都能更清晰的使用参数。 互斥参数组。如果某些参数不能同时使用,可以将它们加到互斥参数组中。 部分解析。

    91010

    会用python把linux命令写一遍的人,进大厂有多容易?

    2018.2 - 使用模块:argparse, os 了解argparse模块 argparse是python的标准库,他可以使我们很友好的编写命令行界面,并且可以自动生成帮助文档和使用消息,还能在参数无效的时候发出错误...argparse.ArgumentParse类参数理解 1. prog:改变应用的名字,我们可以使用`%(prog)s`引用应用的名字,默认的应用名字为文件名。...- nargs='*': 将所有的参数保存在列表中 - nargs='+': 将所有的参数保存在列表中,但是至少得有一个参数 - nargs=argparse.REMAINDER: 其余的参数全部保存在一个...list中 4. default: 如果没有传入这个参数,默认使用default参数的值 5. type: 接收到的参数会经过这个参数对应的函数处理。...- -d: 指定显示目录,如果不指定,默认为当前目录。 首先我们使用 ArgumentParser 类来指定参数。

    61420

    如何利用Python学习linux命令?

    没错,就是 linux 中经常会用到的 ls 命令。 文章中我就提到如何提升自己的 python 能力呢?...使用模块:argparse, os 了解argparse模块 argparse是python的标准库,他可以使我们很友好的编写命令行界面,并且可以自动生成帮助文档和使用消息,还能在参数无效的时候发出错误...- nargs='*': 将所有的参数保存在列表中 - nargs='+': 将所有的参数保存在列表中,但是至少得有一个参数 - nargs=argparse.REMAINDER: 其余的参数全部保存在一个...list中 4. default: 如果没有传入这个参数,默认使用default参数的值 5. type: 接收到的参数会经过这个参数对应的函数处理。...- -d: 指定显示目录,如果不指定,默认为当前目录。 首先我们使用 ArgumentParser 类来指定参数。

    81510

    parser.add_argument()用法——命令行选项、参数和子命令解析器

    通过使用这种方法,可以在使用 1、argparse简介: argparse 模块是 Python 内置的一个用于命令项选项与参数解析的模块,argparse 模块可以让人轻松编写用户友好的命令行接口。...通过在程序中定义好我们需要的参数,然后 argparse 将会从 sys.argv 解析出这些参数。argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息。...通俗来讲就是: 命令行运行代码时直接给相应的变量赋值,就不需要在改python中的具体代码了。...store_const,表示赋值为const; append,将遇到的值存储成列表,也就是如果参数重复则会保存多个值; append_const,将参数规范中定义的一个值保存到一个列表; count,存储遇到的次数...,而 ArgumentParser 将自动从 sys.argv 中确定命令行参数。

    2.7K20

    Python3 命令行参数解析

    argparse 模块是 Python 标准库中推荐的命令行解析模块,命令行参数解析在 windows 系统下不适用,但在 linux 系统下几乎要总是考虑命令行参数解析。...sys.argv用法 sys.argv[] 获取的是命令行参数列表,sys.argv[0] 表示代码本身文件路径,所以命令行参数从sys.argv[1] 开始。...len(sys.argv) 获取的 是命令行参数个数。...,这里可用到 argparse 模块,它是 Python 内置的一个用于命令选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息...,将参数规范中定义的一个值保存到一个列表; count,存储遇到的次数;此外,也可以继承 argparse.Action 自定义参数解析; nargs – 应该读取的命令行参数个数,可以是具体的数字,或者是

    1.3K11
    领券