我需要写多次调用该函数蟒蟒函数调用逻辑。
比方说,比如我有一个脚本test.py
我跑像python test.py val
脚本
val=sys.argv[1]
def check(param, val):
.
.
.
if val == valid.text:
print '{:10s}:{:10}'.format(param, all.text)
values=os.walk(runtime).next()[1]
for param in values:
check(param, val)
所以这里输出像
driver 1.1
dmname 1.5-temp
fdrmenu 1.0-rem
所以在这里我需要通过取输出输入函数调用运行相同的功能check(param, val)
。
函数调用像检查(PARAM,VAL) - >点击这里val应为driver
等了dmname
,fdrmenu
。
并调用相同的功能driver
,dmname
的输出等,直到我们得到空的所有输出。
这里sys.srgv[1]
应分配给VAL仅在第一次,从下一次应该是driver
,dmname
等。
递归的东西像这样?
data={'driver':'1.1','dmname':'1.5-temp','fdrmenu':'1.0-rem'}
def check(data,key):
val = data.pop(key)
if type(val) == str:
print(key,val)
if data: check(data,list(data.keys())[0])
return None
check(data,list(data.keys())[0])
我不知道如果我正确地理解你的问题,所以我不知道如果我在正确的轨道上。
这个功能基本上采用键/值对的元素的字典(数据)和你的字典,它的第一个键调用它。
check(data,list(data.keys())[0])
在函数内部您提取关联于该键的值,并删除对
val = data.pop(key)
所以字典开始像
{'driver':'1.1','dmname':'1.5-temp','fdrmenu':'1.0-rem'}
第一键是“驱动器”,值是“1.1”。所以,现在的变量val ==“1.1”,但字典是现在
{'dmname':'1.5-temp','fdrmenu':'1.0-rem'}
因为第一密钥/值对是与弹出功能删除
然后使用VAL你提取你检查的条件
if type(val) == str:
在这种情况下,VAL ==“1.1”,因此会检查,然后打印键和值是“驾驶”和“1.1”
那么你检查字典不是没有,如果它是不是你在打电话之前相同的方式相同的功能,但因为你从字典中删除第一个键/值对下一首键/值元素将是“dmname ':' 1.5-TEMP”
{'dmname':'1.5-temp','fdrmenu':'1.0-rem'}
下一次调用该词典将是一个元素
{'fdrmenu':'1.0-rem'}
最后调用字典将是空的
{}
这样的条件
if data
不会检查该函数将返回None
你可以做这样的事情有对你的情况PARAMS和值的,如果我正确地理解你的问题。
我修改的功能,使用你显然有数据的类型,所以这个函数的输出将是
driver 1.1
dmname 1.5-temp
fdrmenu 1.0-rem