语言:python-3.7.3 框架:机器人框架3.1.1 IDE: Pycharm 熟练程度:新手
我有一个用python编写的用户定义方法,该方法在替换匹配的字符后返回字符串。
字符串:(12356,)
要替换的字符(和,和)
替换字符: $ {empty}
预期: 123456
方法:
def replace_a_specific_character_in_a_String(self, str_var, replacingCharacter, charactertoReplace):
str = str_var.replace(replacingCharacter, charactertoReplace)
return str
我希望从我的机器人文件中调用以下相同的方法。
${response}= replace a specific character in a String [replace a specific character in a String ${response} , ${EMPTY}) ${EMPTY}] ( ${EMPTY}
这将引发以下错误
Keyword 'Methods.Replace A Specific Character In A String' expected 3 arguments, got 6.
我理解错误消息,因为它以方法内部的方法为参数。那么在这种情况下应遵循的正确语法是什么。请告知。
答案 0 :(得分:0)
如错误所示,您的函数需要3个参数:
但是,您通过了六次。考虑以下代码行:
replace a specific character in a String [replace a specific character in a String ${response} , ${EMPTY}) ${EMPTY}] ( ${EMPTY}
因为机器人使用两个或多个空格作为参数分隔符,所以这些是它传递给函数的参数:
如果我了解您要执行的操作,则希望一次调用该关键字,然后将该函数的结果再次传递给该关键字。机器人不允许您这样做。您必须运行两次关键字,保存第一次调用的结果并将其传递给第二次。
例如:
${tmp}= replace a specific character in a String ${response} ( ${EMPTY} ${response}= replace a specific character in a String ${tmp} ) ${EMPTY}