我已经编写了一个脚本来运行其中包含的所有进程,但是我希望能够只运行所需的进程。在
我想我现在遇到了与过去不同的列表用法,但我不太确定该怎么做。在
我有四个函数:foo1、foo2、foo3和foo4。我希望能够有选择地在python脚本中运行这些函数,使用用户使用input()函数插入的特定数量。下面是一个代码示例。在
ListAllVSs = requests.get('https://' + LMIP + '/access/listvs', verify=False, auth=MyCreds)
ListVSOutput = ListAllVSs.content.splitlines()
for Line in ListVSOutput:
if b"<Index>" in Line:
IndexLines.append(Line)
NumbersList = [int(re.search(br"\d+", Integer).group()) for Integer in IndexLines]
for Number in NumbersList:
VSIDAndValue = (
('vs', str(Number)),
)
requests.get('https://' + LMIP + '/access/delvs', params=VSIDAndValue, verify=False, auth=MyCreds)
所以,这不是一个函数。在
例如,用户应该插入“1”运行foo1,“2”运行foo2,“3”运行foo3,“4”运行foo4,“5”运行foo1和foo2,等等。要运行所有可能的函数组合,总共有15个可能的输入,低于0或高于15的任何数字都应视为无效。在
我想使用“0”来运行所有四个进程,我认为这是可能的,因为Python是如何对其列表位置进行编号的,但是如果需要的话,我可以使用“15”。在
提前谢谢!在
用字典吧,对不起,我不能评论你的问题我太新了。在
如果你搞不懂,你能给我一些示例代码吗?如果你想限制你的投入,也要给这个家伙加分 Limiting user input to a range in Python
您可以使用位运算符来测试进程的不同组合:
在这个例子中,从1到15的所有数字都会给出一些输出。 1将打印“foo1()” 4将打印“foo3()” ... 如果要打印“foo1()”和“foo3()”,则应使用参数5(1+4)调用input()
理解这一点的关键是要注意,每个函数fooX的调用基数为2:
n=110=00012->;foo1()
n=210=00102->;foo2()
n=410=01002->;foo3()
n=810=10002->;foo4()
它们的和只是一个布尔运算
or
(|
)位到位的运算:(1+4)10=0001201002=01012=510
然后用
&
(按位and
)运算符将给定位设置为1,并调用相应的fooX()
。在相关问题 更多 >
编程相关推荐