根据用户输入向函数添加参数

问题描述 投票:0回答:1

提前为我的英语感到抱歉,它不是我的母语。我在 Python 中运行它

我有一个 XML-RPC 函数,作为其参数的一部分,您可以传递一些过滤器来检索特定信息,因此它是这样的:

function(arg1,arg2,[[[condition1],[condition2],[condition3]]])

条件是可选的,但我想知道是否有办法根据用户请求传递 n 数量的条件,例如:用户想要特定日期的信息,所以它进入 [condition1],但是如果他还想要另一个非相邻日期的信息,它会像 [[[condition1],[condition2]]] 并且每个条件都是特定的,但是这两个日期可能有很多信息,所以它会有点如果它在两个不同的进程中检索信息有点慢,而且如果它需要很多天服务器可能会阻止咨询所以最好根据用户的需要添加参数

用户不会直接编写过滤器,它更像是一个下拉按钮或日历选项,然后将解析这些值,这样就不会有(希望如此)用户编写一些可能的东西的风险使数据库崩溃

在日期场景中,我尝试检查日期和使用之间的距离,以及是否尝试以尽可能少的调用检索信息,但是当用户传递其他参数(如名称、布尔值或它们的组合)时,它会得到用 if

解决它更棘手

我想可能是检查用户想要的过滤器,然后在字符串中正确排列,然后将其用作参数,但我不知道如何解析它。像这样的东西:

用户输入将是

日期:2019/03/28

发布:真实

价格: > 850

那么函数将写成:

function(arg1,arg2,[[[date='2019/03/28'],[Published=True],[price>850]]])
python python-3.x variadic-functions xml-rpc
1个回答
1
投票

我可能回答得有点快,但这感觉就像 Kwargs 会做你需要的一切。 Kwargs 或关键字参数允许您传递未定义数量的参数。它非常类似于字典。

https://book.pythontips.com/en/latest/args_and_kwargs.html

© www.soinside.com 2019 - 2024. All rights reserved.