如何读取/处理命令行参数?

  • 回答 (2)
  • 关注 (0)
  • 查看 (48)

我原本是C程序员。

Python程序员可以做些什么?

问题

  • 抓取/解析传递给Python脚本的命令行参数的最好方法是什么?
  • 实现一个“[command] [action] [parameter]”风格的命令行界面?
  • 我如何在Python中处理命令行参数?
  • 如何使用Python的optparse格式化位置参数帮助?
小楼CF小楼CF提问于
人生的旅途辣鸡前端回答于

只是绕来绕去传福音的argparse这是更好的,这些原因基本上..:

  • argparse模块可以处理位置参数和可选参数,而optparse只能处理可选参数
  • argparse对于你的命令行界面应该是什么样子并不是教条式的 - 像-file或/ file这样的选项是被支持的,就像所需的选项一样。Optparse拒绝支持这些功能,宁愿纯粹超过实用性
  • argparse会生成更多的信息性用法消息,包括从您的参数中确定的命令行用法,以及用于位置参数和可选参数的帮助消息。optparse模块要求您编写自己的使用字符串,并且无法显示位置参数的帮助。
  • argparse支持使用可变数量的命令行参数的操作,而optparse则要求事先知道参数的确切数量(例如1,2或3)
  • argparse支持调度到子命令allow_interspersed_args的解析器,而optparse则需要手动设置 和执行解析器调度

而我个人的最爱:

argparse允许add_argument() 使用简单的可调参数来指定类型和动作参数,而optparse则需要黑客类的属性, STORE_ACTIONS或者CHECK_METHODS获得适当的参数检查

最爱开车啦互联网的敏感者回答于
import sys
print "\n".join(sys.argv)

sys.argv 是包含在命令行上传递给脚本的所有参数的列表。

基本上,

import sys
print sys.argv[1:]

扫码关注云+社区

领取腾讯云代金券