我试图用这个脚本从命令行参数中收集变量
import requests
import json
import sys, getopt
UNKNOWN = -1
OK = 0
WARNING = 1
CRITICAL = 2
usage = 'usage: python artifactory-move.py -u/--user -p/--password '
def command_line_validate(argv):
try:
opts, args = getopt.getopt(argv, 'u:p', ['user=' ,'password='])
except getopt.GetoptError:
print (usage)
try:
for opt, arg in opts:
if opt in ('-u', '--user'):
try:
user = arg
except:
print ('***user value must be an entered***')
sys.exit(CRITICAL)
elif opt in ('-p', '--password'):
try:
password = arg
except:
print ('***password value must be entered***')
sys.exit(CRITICAL)
else:
print (usage)
try:
isinstance(user, str)
#print 'user level:', user
except:
print ('***user is required***')
print (usage)
sys.exit(CRITICAL)
try:
isinstance(password, str)
#print 'password level:', password
except:
print ('***pass is required***')
print (usage)
sys.exit(CRITICAL)
except:
sys.exit(CRITICAL)
return user, password
argv = sys.argv[1:]
user, password= command_line_validate(argv)
print (user)
print (password)
找不到它只打印用户的原因,我怀疑这是第一次“尝试”,但我不知道还有什么其他方法可以做到这一点。我是python新手,也许我遗漏了一些非常明显的东西
你写道:
u:p的意思是:
-u接受一个参数(因为u后面有“:”)
-p不带参数(p后面的no':'p)
希望这对你有帮助
相关问题 更多 >
编程相关推荐