Python 命令行参数

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

Python命令行参数

有许多选项可用于读取Python命令行参数。最常见的三种是:

  1. Python sys.argv
  2. Python getopt模块
  3. Python argparse模块

让我们通过一个简单的程序来学习如何读取和使用Python命令行参数。

Python sys模块

Python sys模块将命令行参数存储到一个列表中,我们可以使用sys.argv来访问它。这是读取命令行参数作为字符串的一种非常有用且简单的方式。让我们看一个简单的例子,使用Python sys模块来读取和打印命令行参数。

import sys

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

以下图片展示了上述程序的示例运行输出。还有许多其他有用的功能在sys模块中,详细阅读它们在Python sys模块

Python getopt模块

Python getopt模块的工作原理与C语言中的getopt()函数非常相似,用于解析命令行参数。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('Something went wrong!')
    sys.exit(2)

上面的示例非常简单,但我们可以轻松地扩展它来执行各种操作。例如,如果传递了帮助选项,则打印一些用户友好的消息并退出。在这种情况下,getopt模块将自动解析选项值并映射它们。下面的图片显示了一个示例运行。要了解更多,请阅读Python getopt模块

Python argparse模块

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

import argparse

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

下面是上述脚本的快速运行输出。Python argparse模块提供了许多功能,您应该阅读Python argparse教程以获得清晰的理解。关于在Python中读取和解析命令行参数的不同选项就介绍到这里,您应该决定哪个选项适合您的特定需求,然后使用它。参考资料:

Source:
https://www.digitalocean.com/community/tutorials/python-command-line-arguments