Python 入门简明教程
1. 1. 与 Python 的第一次亲密接触-写给初学者 2. 2. Python 语法关键字 3. 3. Python 的注释和语法 4. 4. Python 基本数据类型 5. 5. Python 输入输出 6. 6. Python 运算符 7. 7. Python 变量 8. 8. Python 命名空间和变量生存范围 9. 9. Python 逻辑判断 10. 10. Python For 循环语法 11. 11. Python While 循环语法 12. 12. Python 循环语法中 break 与 continue的使用 13. 14. Python 三目运算符 14. 15. Python 循环语法中 pass 语句的使用 15. 16. Python 循环语法示例 16. 17. Python 函数 17. 18. Python main 函数 18. 19. Python print 函数 19. 20. Python print format 输出格式化 20. 21. Python print 输出到文件 21. 22. Python 输入 22. 23. Python import 导入模块 23. 25. Python 中递归的使用 24. 26. Python 匿名函数 25. 27. Python lambda 26. 28. Python PIP 包管理机制 27. 29. Python 命令行参数 28. 30. Python Numbers 包 29. 31. Python 随机数 30. 32. Python String 转 int 31. 34. Python 自定义异常 Exception 32. 35. Python 继承 33. 36. Python 父类 34. 38. Python 操作符重载 35. 39. Python __str__ and __repr__

29. Python 命令行参数

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

Python命令行参数

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

  1. Python系统argv
  2. Python getopt模块
  3. 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中读取和解析命令行参数的不同选项,您应该决定哪一个适合您的特定需求,然后使用它。

参考文献: