Python命令行参数是在执行脚本时传递给脚本的输入参数。几乎所有的编程语言都支持命令行参数。然后,我们还有命令行选项来设置程序的一些特定选项。
Python命令行参数
有许多选项可用于读取Python命令行参数。最常见的三种是:
- Python sys.argv
- Python getopt模块
- 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