代码执行的时候,可能需要传入自定义参数。这些自定义参数值如何获取呢:可以通过getopt依赖包中的getopt()方法来实现。
先上代码:
场景-python执行的时候,可以指定账号密码
class TEST():
def __init__(self):
self.user = ''
self.password = ''
def get_opt(self):
try:
short_args = 'hup'
long_args = ['help', 'user=', 'password=']
opts, args = getopt.getopt(sys.argv[1:], short_args, long_args)
if not opts:
print '''
python research_test.py [option][value]...
-h or --help
-u or --user=账号
-p or --password=密码
'''
sys.exit()
except getopt.GetoptError as err:
print(str(err))
print '''
python research_test.py [option][value]...
-h or --help
-u or --user=账号
-p or --password=密码
'''
sys.exit()
for opt, val in opts:
if opt in ('-h', '--help'):
print '''
python research_test.py [option][value]...
-h or --help
-u or --user=账号
-p or --password=密码
'''
sys.exit()
elif opt in ('-u', '--user'):
self.user = val
elif opt in ('-p', '--password'):
self.password = val
else:
print("Using the wrong way,please view the help information.")
sys.exit()
执行的时候,下面两个命令效果一致:
方法1:python test.py -u zhangsan -p zhangsan_password
方法2:python test.py --user zhangsan --password zhangsan_password
说明:
目前有短选项和长选项两种格式。短选项格式为"-"加上单个字母选项;长选项为"--"加上一个单词。长格式是在Linux下引入的。许多Linux程序都支持这两种格式。在Python中提供了getopt模块很好的实现了对这两种用法的支持,而且使用简单。