该点击包允许从使用所述列表中选择一个值的范围click.Choice方法。
在我的情况下,这些值是相对较长的字符串,因此使用:
choice_names = [u'Vulnerable BMC (IPMI)', u'IoT Vulnerability', u'SMBv1', u'BadHTTPStatus', u'Compromised']
@click.option('--category', prompt='\nPlease enter the category of incident.\n\n -- Options:\n{}\n\n'.format(
format_choices(choice_names)), type=click.Choice(choice_names))
Run Code Online (Sandbox Code Playgroud)
将列出的值如下:
-> Vulnerable BMC (IPMI)
-> IoT Vulnerability
-> SMBv1
-> BadHTTPStatus
-> Compromised
Run Code Online (Sandbox Code Playgroud)
这需要用户输入完整的字符串,不方便。Click 是否提供仅使用数字标识符来选择值的功能?因此,上述选项可以列为:
-> Vulnerable BMC (IPMI) [1]
-> IoT Vulnerability [2]
-> SMBv1 [3]
-> BadHTTPStatus [4]
-> Compromised [5]
Run Code Online (Sandbox Code Playgroud)
并且要选择第一个选项,用户需要输入1。这可以通过定义自定义验证函数来实现,但我找不到 Click 提供的任何现有功能。
我正在尝试学习python中符号操作的细节(我是初学者).
我有以下基本代码,输出给我一个错误告诉我它"无法将表达式转换为浮点数".
这段代码有什么问题:
from sympy import *
from math import *
def h(x):
return log(0.75392 * x)
x = symbols('x')
hprime = h(x).diff(x)
print(hprime)
Run Code Online (Sandbox Code Playgroud)