精华内容
下载资源
问答
  • python 命令行 参数Python Command line arguments are input parameters passed to the script when executing them. Almost all programming language provide support for command line arguments. Then we also ...

    python 命令行 参数

    Python Command line arguments are input parameters passed to the script when executing them. Almost all programming language provide support for command line arguments. Then we also have command line options to set some specific options for the program.

    Python命令行参数是执行它们时传递给脚本的输入参数。 几乎所有的编程语言都支持命令行参数。 然后,我们还有命令行选项可以为程序设置一些特定选项。

    Python命令行参数 (Python Command Line Arguments)

    There are many options to read python command line arguments. The three most common ones are:

    有很多选项可以读取python命令行参数。 三种最常见的是:

    1. Python sys.argv

      Python sys.argv
    2. Python getopt module

      Python getopt模块
    3. Python argparse module

      Python argparse模块

    Let’s look through simple program to learn how to read and use python command line arguments.

    让我们看一个简单的程序,以学习如何阅读和使用python命令行参数。

    Python sys模块 (Python sys module)

    Python sys module stores the command line arguments into a list, we can access it using sys.argv. This is very useful and simple way to read command line arguments as String. Let’s look at a simple example to read and print command line arguments using python sys module.

    Python sys模块将命令行参数存储到列表中,我们可以使用sys.argv进行访问。 这是将命令行参数读取为String的非常有用且简单的方法。 让我们看一个使用python sys模块读取和打印命令行参数的简单示例。

    import sys
    
    print(type(sys.argv))
    print('The command line arguments are:')
    for i in sys.argv:
        print(i)

    Below image illustrates the output of a sample run of above program.

    下图显示了以上程序的示例运行的输出。

    There are many other useful functions in sys module, read them in detail at python sys module.

    sys模块中还有许多其他有用的功能,请在python sys module上详细阅读它们。

    Python getopt模块 (Python getopt module)

    Python getopt module is very similar in working as the C getopt() function for parsing command-line parameters.

    Python的getopt模块与C的getopt()函数用于解析命令行参数非常相似。

    Python getopt module is useful in parsing command line arguments where we want user to enter some options too. Let’s look at a simple example to understand this.

    Python getopt模块在解析命令行参数时非常有用,我们也希望用户也输入一些选项。 让我们看一个简单的例子来理解这一点。

    import getopt
    import sys
    
    argv = sys.argv[1:]
    try:
        opts, args = getopt.getopt(argv, 'hm:d', ['help', 'my_file='])
        print(opts)
        print(args)
    except getopt.GetoptError:
        # Print a message or do something useful
        print('Something went wrong!')
        sys.exit(2)

    Above example is very simple, but we can easily extend it to do various things. For example, if help option is passed then print some user friendly message and exit. Here getopt module will automatically parse the option value and map them. Below image shows a sample run.

    上面的示例非常简单,但是我们可以轻松地将其扩展为执行各种操作。 例如,如果通过了帮助选项,则打印一些用户友好的消息并退出。 在这里,getopt模块将自动分析选项值并映射它们。 下图显示了运行示例。

    To learn more, read python getopt module.

    要了解更多信息,请阅读python getopt模块

    Python argparse模块 (Python argparse module)

    Python argparse module is the preferred way to parse command line arguments. It provides a lot of option such as positional arguments, default value for arguments, help message, specifying data type of argument etc. At the very simplest form, we can use it like below.

    Python argparse模块是解析命令行参数的首选方法。 它提供了很多选项,例如位置参数,参数的默认值,帮助消息,指定参数的数据类型等。以最简单的形式,我们可以像下面这样使用它。

    import argparse
    
    parser = argparse.ArgumentParser()
    parser.parse_args()

    Below is the output from quick run of above script.

    以下是上述脚本快速运行的输出。

    Python argparse module provide a lot many features, you should read about them at python argparse tutorial for clear understanding.

    Python argparse模块提供了许多功能,您应该在python argparse教程中阅读有关它们的详细信息。

    That’s all for different options to read and parse command line arguments in python, you should decide which is the one for your specific requirements and then use it.

    这就是在python中读取和解析命令行参数的不同选项的全部,您应该确定哪一种是针对您的特定要求的,然后再使用它。

    References:

    参考文献:

    翻译自: https://www.journaldev.com/17743/python-command-line-arguments

    python 命令行 参数

    展开全文
  • Python 命令行参数Python 提供了 getopt 模块来获取命令行参数。$ python test.py arg1 arg2 arg3Python 中也可以使用 sys 的 sys.argv 来获取命令行参数:sys.argv 是命令行参数列表。len(sys.argv) 是命令行参数个...

    Python 命令行参数

    Python 提供了 getopt 模块来获取命令行参数。

    $ python test.py arg1 arg2 arg3

    Python 中也可以使用 sys 的 sys.argv 来获取命令行参数:

    sys.argv 是命令行参数列表。

    len(sys.argv) 是命令行参数个数。

    注:sys.argv[0] 表示脚本名。

    实例

    test.py 文件代码如下:

    #!/usr/bin/python

    # -*- coding: UTF-8 -*-

    import sys

    print '参数个数为:', len(sys.argv), '个参数。'

    print '参数列表:', str(sys.argv)

    执行以上代码,输出结果为:

    $ python test.py arg1 arg2 arg3

    参数个数为: 4 个参数。

    参数列表: ['test.py', 'arg1', 'arg2', 'arg3']

    getopt模块

    getopt模块是专门处理命令行参数的模块,用于获取命令行选项和参数,也就是sys.argv。命令行选项使得程序的参数更加灵活。支持短选项模式(-)和长选项模式(--)。

    该模块提供了两个方法及一个异常处理来解析命令行参数。

    getopt.getopt 方法

    getopt.getopt 方法用于解析命令行参数列表,语法格式如下:

    getopt.getopt(args, options[, long_options])

    方法参数说明:

    args: 要解析的命令行参数列表。

    options : 以字符串的格式定义,options 后的冒号 : 表示如果设置该选项,必须有附加的参数,否则就不附加参数。

    long_options : 以列表的格式定义,long_options 后的等号 = 表示该选项必须有附加的参数,不带冒号表示该选项不附加参数。

    该方法返回值由两个元素组成: 第一个是 (option, value) 元组的列表。 第二个是参数列表,包含那些没有 - 或 -- 的参数。

    另外一个方法是 getopt.gnu_getopt,这里不多做介绍。

    Exception getopt.GetoptError

    在没有找到参数列表,或选项的需要的参数为空时会触发该异常。

    异常的参数是一个字符串,表示错误的原因。属性 msg 和 opt 为相关选项的错误信息。

    实例

    假定我们创建这样一个脚本,可以通过命令行向脚本文件传递两个文件名,同时我们通过另外一个选项查看脚本的使用。脚本使用方法如下:

    usage: test.py -i -o

    test.py 文件代码如下所示:

    #!/usr/bin/python

    # -*- coding: UTF-8 -*-

    import sys, getopt

    def main(argv):

    inputfile = ''

    outputfile = ''

    try:

    opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])

    except getopt.GetoptError:

    print 'test.py -i -o '

    sys.exit(2)

    for opt, arg in opts:

    if opt == '-h':

    print 'test.py -i -o '

    sys.exit()

    elif opt in ("-i", "--ifile"):

    inputfile = arg

    elif opt in ("-o", "--ofile"):

    outputfile = arg

    print '输入的文件为:', inputfile

    print '输出的文件为:', outputfile

    if __name__ == "__main__":

    main(sys.argv[1:])

    执行以上代码,输出结果为:

    $ python test.py -h

    usage: test.py -i -o

    $ python test.py -i inputfile -o outputfile

    输入的文件为: inputfile

    输出的文件为: outputfile

    展开全文
  • python 命令行参数

    2012-03-11 20:44:00
    python 命令行参数
  • Python 命令行参数解析argparse 模块有参数解析器Parser和参数Arguement 结果集Namespace三个基本抽象。Parser执行解析规则可以有子解析器(子命令)Arguement设置参数名称、别名、帮助信息、是否为空Namespace解析...

    Python 命令行参数解析

    argparse 模块有参数解析器Parser和参数Arguement 结果集Namespace三个基本抽象。

    Parser

    执行解析规则

    可以有子解析器(子命令)

    Arguement

    设置参数名称、别名、帮助信息、是否为空

    Namespace

    解析结果

    添加参数

    新建一个python 文件 test.py, 内容如下:

    import argparse

    parser = argparse.ArgumentParser(description='k8s助手,主要用来管理Pod,比如查看日志、重启pod、进入pod。', add_help=True)

    parser.add_argument("-n", "--namespace", help="操作的namespace。", default=None, required=True)

    args_namespace = parser.parse_args()

    print(args_namespace)

    执行: python test.py -h 结果如下:

    usage: test.py [-h] -n NAMESPACE

    k8s助手,主要用来管理Pod,比如查看日志、重启pod、进入pod。

    optional arguments:

    -h, --help show this help message and exit

    -n NAMESPACE, --namespace NAMESPACE

    操作的namespace。

    传入一个-n 参数执行命令python test.py -n os结果如下:

    ➜ /tmp python test.py -n os

    Namespace(namespace='os')

    添加子命令

    新建一个test_subparser.py中加入以下代码:

    import argparse

    parser = argparse.ArgumentParser(description='k8s助手,主要用来管理Pod,比如查看日志、重启pod、进入pod。', add_help=True)

    # dest 参数将子命令的值注册到 args_namespace

    subparsers = parser.add_subparsers(dest="operation")

    # 添加一个子命令 exec

    exec_parser = subparsers.add_parser("exec", help="进入容器。")

    # exec_parser 是parser对象,可以添加参数。

    exec_parser.add_argument("-n", "--namespace", help="操作的namespace。", default=None, required=True)

    args_namespace = parser.parse_args()

    print(args_namespace)

    执行python test_subparser.py exec -n os 结果如下:

    ➜ /tmp python test_subparser.py exec -n os

    Namespace(namespace='os', operation='exec')

    展开全文
  • Python 命令行参数Python 提供了 getopt 模块来获取命令行参数。$ python test.py arg1 arg2 arg3Python 中也可以使用 sys 的 sys.argv 来获取命令行参数:sys.argv 是命令行参数列表。len(sys.argv) 是命令行参数个...

    Python 命令行参数

    Python 提供了 getopt 模块来获取命令行参数。

    $ python test.py arg1 arg2 arg3

    Python 中也可以使用 sys 的 sys.argv 来获取命令行参数:

    sys.argv 是命令行参数列表。

    len(sys.argv) 是命令行参数个数。

    注:sys.argv[0] 表示脚本名。

    实例

    test.py 文件代码如下:

    #!/usr/bin/python

    # -*- coding: UTF-8 -*-

    import sys

    print '参数个数为:', len(sys.argv), '个参数。'

    print '参数列表:', str(sys.argv)

    执行以上代码,输出结果为:

    $ python test.py arg1 arg2 arg3

    参数个数为: 4 个参数。

    参数列表: ['test.py', 'arg1', 'arg2', 'arg3']

    getopt模块

    getopt模块是专门处理命令行参数的模块,用于获取命令行选项和参数,也就是sys.argv。命令行选项使得程序的参数更加灵活。支持短选项模式(-)和长选项模式(--)。

    该模块提供了两个方法及一个异常处理来解析命令行参数。

    getopt.getopt 方法

    getopt.getopt 方法用于解析命令行参数列表,语法格式如下:

    getopt.getopt(args, options[, long_options])

    方法参数说明:

    args: 要解析的命令行参数列表。

    options : 以字符串的格式定义,options 后的冒号 : 表示如果设置该选项,必须有附加的参数,否则就不附加参数。

    long_options : 以列表的格式定义,long_options 后的等号 = 表示该选项必须有附加的参数,不带冒号表示该选项不附加参数。

    该方法返回值由两个元素组成: 第一个是 (option, value) 元组的列表。 第二个是参数列表,包含那些没有 - 或 -- 的参数。

    另外一个方法是 getopt.gnu_getopt,这里不多做介绍。

    Exception getopt.GetoptError

    在没有找到参数列表,或选项的需要的参数为空时会触发该异常。

    异常的参数是一个字符串,表示错误的原因。属性 msg 和 opt 为相关选项的错误信息。

    实例

    假定我们创建这样一个脚本,可以通过命令行向脚本文件传递两个文件名,同时我们通过另外一个选项查看脚本的使用。脚本使用方法如下:

    usage: test.py -i -o

    test.py 文件代码如下所示:

    #!/usr/bin/python

    # -*- coding: UTF-8 -*-

    import sys, getopt

    def main(argv):

    inputfile = ''

    outputfile = ''

    try:

    opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])

    except getopt.GetoptError:

    print 'test.py -i -o '

    sys.exit(2)

    for opt, arg in opts:

    if opt == '-h':

    print 'test.py -i -o '

    sys.exit()

    elif opt in ("-i", "--ifile"):

    inputfile = arg

    elif opt in ("-o", "--ofile"):

    outputfile = arg

    print '输入的文件为:', inputfile

    print '输出的文件为:', outputfile

    if __name__ == "__main__":

    main(sys.argv[1:])

    执行以上代码,输出结果为:

    $ python test.py -h

    usage: test.py -i -o

    $ python test.py -i inputfile -o outputfile

    输入的文件为: inputfile

    输出的文件为: outputfile

    展开全文
  • Python命令行参数

    2018-01-30 14:32:09
    Python 命令行参数 Python 提供了 getopt 模块来获取命令行参数。 $ python test.py arg1 arg2 arg3 Python 中也可以所用 sys 的 sys.argv 来获取命令行参数: sys.argv 是命令行参数列表。 ...
  • Python 中也可以所用 sys 的 sys.argv 来获取命令行参数:sys.argv 是命令行参数列表。len(sys.argv) 是命令行参数个数。注:sys.argv[0] 表示脚本名。实例test.py 文件代码如下:执行以上代码,输出结果为:getopt...
  • # encoding:utf-8# by kevindi 1.0"""举例说明如何处理python命令行参数"""import os, sys# python命令行参数存储在数组中,如下方法可以打印命令行的所有参数# 例如一个简单的结果: ['D:/project/python/...
  • $ python test.py arg1 arg2 arg3Python sys模块通过sys.argv提供对任何命令行参数的访问。主要有两个参数变量 -sys.argv是命令行参数的列表。len(sys.argv)是命令行参数的数量。这里sys.argv [0]是程序名称,即脚本...
  • Python 命令行参数Python 提供了 getopt 模块来获取命令行参数。$ python test.py arg1 arg2 arg3Python 中也可以所用 sys 的 sys.argv 来获取命令行参数:sys.argv 是命令行参数列表。len(sys.argv) 是命令行参数个...
  • $ python test.py arg1 arg2 arg3ShellPythonsys模块通过sys.argv提供对任何命令行参数的访问。主要有两个参数变量 -sys.argv是命令行参数的列表。len(sys.argv)是命令行参数的数量。这里sys.argv [0]是程序名称,即...
  • 下面主要介绍两种解析Python命令行参数的方式。1. sys.argv解析Python中命令行参数的最传统的方法是通过sys.argv。Demo如下:#!/usr/env/python python# _*_ coding: utf-8 _*_import sysparam1 = sy...
  • Python用于编写脚本的场景非常多,如何处理脚本(命令行)的参数当然非常关键首先导入sys,参数列表在sys.arg中import sysif __name__ == '__main__':for arg in sys.argv:print arg可以发现sys.arg[0],也就是第一...
  • Python 命令行参数Python 提供了 getopt 模块来获取命令行参数。$ python test.py arg1 arg2 arg3Python 中也可以所用 sys 的 sys.argv 来获取命令行参数:sys.argv 是命令行参数列表。len(sys.argv) 是命令行参数个...
  • sys模块sys模块代表了Python解释器,主要用于获取和Python解释器相关的信息,其中 sys.argv 可以获取命令行参数Python交互式解释器中可以先导入sys模块 import sys,再输入 dir(sys) 查看sys模块所包含的全部程序...
  • 前言在python命令行参数的解析模块中,我们常用的就是sys内置模块,但该模块的功能过于原始单一,很多具体的逻辑功能还得靠我们自己手动实现,实在较为麻烦。在这里向大家推荐一个好用的参数解析的模块argparse。...
  • $ python test.py arg1 arg2 arg3Python 中也可以所用 sys 的 sys.argv 来获取命令行参数:sys.argv 是命令行参数列表。len(sys.argv) 是命令行参数个数。注:sys.argv[0] 表示脚本名。实例test.py 文件代码如下:#!...
  • Python 命令行参数

    2019-10-20 21:11:08
    Python 提供了 getopt 模块来获取命令行参数。 ...sys.argv 是命令行参数列表。 len(sys.argv) 是命令行参数个数。 注:sys.argv[0] 表示脚本名。 实例 test.py 文件代码如下: #!/usr/bin/pyth...
  • 欢迎大家点击进去看一下,帮我增加点人气^_^选择模块根据python参考手册的提示,optparse 已经废弃,应使用 argparse教程概念argparse 模块使用 add_argument 来添加可选的命令行参数,原型如下:ArgumentParser.add...
  • 学习C语言的时候就没弄明白命令行参数的用法,在学习Pyton 的时候又遇到了命令行参数,在这里稍微学习了一下,稍微明白了一些在这里做个记录方便后面回顾复习。Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示...
  • python命令行参数

    2019-10-02 20:01:42
    #!/usr/bin/python # -*- coding: UTF-8 -*- import sys ...print '参数个数为:', len(sys.argv), '个参数。...本篇将介绍python中sys, getopt模块处理命令行参数 如果想对python脚本传参数,...
  • Python命令行参数选择

    2019-10-06 00:29:30
    Python命令行参数选择 Python命令行参数选择 - 51CTO.COMPython命令行参数选择2010-03-10 17:23 佚名 博客园 我要评论(0) 字号:T | T本文主要介绍的是Python 命令行参数中使用命令行选项,getopt函数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,917
精华内容 2,766
关键字:

python命令行参数

python 订阅