Python命令行参数是执行脚本时传递给脚本的输入参数。几乎所有的编程语言都支持命令行参数。然后我们还有命令行选项来设置程序的一些特定选项。
Python命令行参数
有许多选项可以读取python命令行参数。最常见的三种是:
- Python系统argv
- Python getopt模块
- Python argparse模块
让我们看看这个简单的程序,学习如何读取和使用python命令行参数。
Python系统模块
Python sys模块将命令行参数存储到一个列表中,我们可以使用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.
import sys
print(type(sys.argv))
print("The command line arguments are:")
for i in sys.argv:
print(i)
下图显示了上述程序运行示例的输出。
sys模块中还有许多其他有用的函数,请在python系统模块.
Python getopt模块
Python getopt模块的工作方式与C非常相似getopt()
function for parsing command-line parameters.
pythongetopt模块在解析命令行参数时非常有用,我们希望用户也在其中输入一些选项。让我们看一个简单的例子来理解这一点。
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 getopt模块.
Python argparse模块
Python argparse模块是解析命令行参数的首选方法。它提供了很多选项,例如位置参数、参数的默认值、帮助消息、指定参数的数据类型等。我们可以用最简单的形式使用它,如下所示。
import argparse
parser = argparse.ArgumentParser()
parser.parse_args()
下面是上面脚本的快速运行的输出。
Python argparse模块提供了很多特性,您应该在python argparse清晰理解教程。
对于在python中读取和解析命令行参数的不同选项,您应该决定哪一个适合您的特定需求,然后使用它。
参考文献: