Python命令行参数
时间:2020-02-23 14:42:31 来源:igfitidea点击:
Python命令行参数是执行它们时传递给脚本的输入参数。
几乎所有的编程语言都支持命令行参数。
然后,我们还有命令行选项可以为程序设置一些特定选项。
Python命令行参数
有很多选项可以读取python命令行参数。
三种最常见的是:
- Python sys.argv
- Python getopt模块
- Python argparse模块
让我们看一个简单的程序,以学习如何阅读和使用python命令行参数。
Python sys模块
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)
下图显示了以上程序的示例运行的输出。
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 a message or do something useful print('Something went wrong!') sys.exit(2)
上面的示例非常简单,但是我们可以轻松地将其扩展为执行各种操作。
例如,如果通过了帮助选项,则打印一些用户友好的消息并退出。
其中getopt模块将自动分析选项值并映射它们。
Python argparse模块
Python argparse模块是解析命令行参数的首选方法。
它提供了很多选项,例如位置参数,参数的默认值,帮助消息,指定参数的数据类型等。
以最简单的形式,我们可以像下面这样使用它。
import argparse parser = argparse.ArgumentParser() parser.parse_args()