2016-11-16 48 views
0

我想从下面的代码删除命令行参数,并通过代码论据:改变函数参数

# Handle arguments 
parser = argparse.ArgumentParser() 
parser.add_argument('--target', required=True) 
parser.add_argument('--policy', required=True) 
parser.add_argument('--name', required=True) 
parser.add_argument('--insecure', action="store_true") 
parser.add_argument('--ca_bundle') 
args = parser.parse_args() 

# Log in 
scan = rest.Scanner(url=_url, login=login, password=password, insecure=args.insecure, ca_bundle=args.ca_bundle) 

# Set policy that should be used 
scan.policy_set(name=args.policy) 

我想要的代码转换,这样我可以从代码,而不是传递命令行参数。有些事情是这样的

a=target 
b=policyname 
c=scan_name 
d=xyz 
args=(a,b,c,d) 
scan = rest.Scanner(url=_url, login=login, password=password, insecure=args.d, ca_bundle=args.ca_bundle) 

scan.policy_set=(name=args.b) 

这怎么办?

+0

只是照你写的做?而不是用'args'来使用'dict'。 – Marcin

+0

嗯,它是非常明显的,命令行参数是预期的......如果你不想使用那个接口,你根本不需要'parser'对象。只需将其包装在一个函数中。 – Anonymous

+0

你能提供一些代码示例吗? – Airbourne

回答

0

只需直接传递参数即可。

scan = rest.Scanner(url=a,password=b,insecure=true,.....)