我在脚本开头有以下代码块:
try:
sys.argv[3]
except Exception:
print(use)
sys.exit()
if int(sys.argv[2]) > 4:
print 'works'
sys.exit()
else:
print(use)
sys.exit()
我会进行检查,但是您会发现它看起来并不漂亮,因为重复了“ print(use); sys.exit()”部分。有什么方法可以使它更短更美丽吗?
答案 0 :(得分:2)
您可以使用argparse
免费获得所有这些功能:
from argparse import ArgumentParser, ArgumentTypeError
def greater_than_4(string):
value = int(string)
if value <= 4:
raise ArgumentTypeError('%r must be greater than 4' % string)
return value
parser = ArgumentParser()
parser.add_argument('first', type=greater_than_4)
parser.add_argument('second')
args = parser.parse_args()
print 'works'
答案 1 :(得分:1)
也许是吗?
try:
sys.argv[3]
if int(sys.argv[2]) > 4:
print 'works'
else
raise ValueException("Incorrect parameter passed")
except Exception:
print(use)
finally:
sys.exit()
答案 2 :(得分:1)
我将为此创建一个函数
Found value: #
Found value: !
Found value: #
Found value: %
Found value: ,
然后您可以执行以下操作:
def report_and_quit(message=''):
print(message)
sys.exit()
答案 3 :(得分:1)
try:
x = int(sys.argv[2])
assert x > 4
y = sys.argv[3]
except Exception:
print(use)
sys.exit()
print('works')
答案 4 :(得分:0)
怎么样?
def tmp(use):
print(use)
sys.exit()
try:
sys.argv[3]
except Exception:
tmp(use)
if int(sys.argv[2]) > 4:
print 'works'
sys.exit()
else:
tmp(use)