如何通过将函数的输出作为函数的输入来调用python函数

2024-09-30 16:42:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要编写一个python函数调用逻辑,多次调用python函数。你知道吗

比如说,我有一个脚本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)。你知道吗

像check(param,val)这样的函数调用-->;这里val应该是driver,对于dmnamefdrmenu依此类推。你知道吗

并为driverdmname等的输出调用相同的函数,直到所有输出都为null。你知道吗

这里sys.srgv[1]应该只第一次分配给val,从下一次开始它应该是driverdmname,依此类推。你知道吗


Tags: 函数textpytest脚本paramcheckdriver
1条回答
网友
1楼 · 发布于 2024-09-30 16:42:16

像这样的循环?你知道吗

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'} 

第一个键是“driver”,值是“1.1”。所以现在变量val=='1.1',但是字典现在

{'dmname':'1.5-temp','fdrmenu':'1.0-rem'} 

因为第一个键/值对是用pop函数删除的

然后使用提取的val检查条件

if type(val) == str:

在本例中,val=='1.1',因此它检查并打印键和值,即'driver'和'1.1'

然后检查字典是否为None,如果不是None,则以与之前相同的方式调用相同的函数,但由于从字典中删除了第一个键/值对,因此下一个第一个键/值元素将为“dmname”:“1.5-temp”

{'dmname':'1.5-temp','fdrmenu':'1.0-rem'} 

下一次调用dictionary将只是一个元素

{'fdrmenu':'1.0-rem'} 

最后一次调用字典将是空的

{}

所以情况

if data

不会检查,函数将返回None

如果我正确理解您的问题,您可以在您的案例中使用成对的参数和值来执行类似的操作。你知道吗

我修改了函数以使用您显然拥有的数据类型,因此该函数的输出将

driver 1.1
dmname 1.5-temp
fdrmenu 1.0-rem

相关问题 更多 >