如何使用选项运行python脚本

如何使用选项运行python脚本,python,arguments,options,sys,Python,Arguments,Options,Sys,我正在寻找一种编写python脚本的有效方法,该脚本可以使用连字符单字母空格参数约定进行调用(例如,python script.py-f/filename-t type-n2 7,其中f、t和n是与选项类型相对应的单个字母,/filename、类型和27是它们的值)。我知道sys库及其sys.argv函数是在调用后获取空格分隔字符串的一种方法(请参见),但是当这些字符串遵循上述约定时,是否有一种复杂的方法来处理这些字符串?您希望在python标准库中使用 argparse模块包含一个Argume

我正在寻找一种编写python脚本的有效方法,该脚本可以使用连字符单字母空格参数约定进行调用(例如,
python script.py-f/filename-t type-n2 7
,其中
f
t
n
是与选项类型相对应的单个字母,
/filename
类型
27
是它们的值)。我知道
sys
库及其
sys.argv
函数是在调用后获取空格分隔字符串的一种方法(请参见),但是当这些字符串遵循上述约定时,是否有一种复杂的方法来处理这些字符串?

您希望在python标准库中使用

argparse模块包含一个
ArgumentParser
类,您可以使用它来解析由
sys.argv

用法示例:

import argparse
import sys

parser = argparse.ArgumentParser(description="Does some awesome things.")
parser.add_argument('message', type=str, help="pass a message into the script")

if __name__ == '__main__':
    args = parser.parse_args(sys.argv[1:])
    print args.message

有关更多详细信息,例如如何合并可选参数、默认参数和多个参数,.

您希望在python标准库中使用。或者对于2.7之前的版本,您可以使用@JoelCornett,您应该将其作为答案而不是注释发布。:)谢谢,@sberry。Tshepang Lekhonkhobe写的这篇文章即使写得不完美也很有帮助。谢谢,@Joel。这个模块仍然令人费解,但它看起来确实像我需要的那个。