0

我在下面测试了一个函数,如何验证下面函数中特定行的输出。

def data():
   dev = Device(host="1.1.1.1", user="test", password="test123", port=22, 
   normalize=True)
   dev.open()
   resp = dev.rpc.get_interface_information(extensive=True)
   dev.close()

   for x in resp.findall(xxxxxxxxx): 
      if aaa
      else:

如果没有函数 data() 我可以只输入 print(resp) 和 print(x) 来检查验证 rpc 发送命令或上面的 for 循环的输出。但是,当我在函数中添加命令时,我无法执行相同的操作。在函数中,我需要验证输出的 for 循环和其他 rpc 发送命令的其他行代码很少。我在下面的python函数中检查代码行的特定输出....我尝试添加数据()并在下面返回,但它没有返回任何内容

def data():
   dev = Device(host="1.1.1.1", user="test", password="test123", port=22, 
   normalize=True)
   dev.open()
   resp = dev.rpc.get_interface_information(extensive=True)
   return resp
   dev.close()

   for x in resp.findall(xxxxxxxxx): 
      if aaa
      else:
   return x 
data()

这是因为我需要确保函数中使用的行代码正确且输出验证正常。请帮助并告诉我正确的方法。谢谢你。

出现错误 NameError: name 'request' is not defined

def data(request):
   dev = Device(host="1.1.1.1", user="test", password="test123", port=22, 
   normalize=True)
   dev.open()
   resp = dev.rpc.get_interface_information(extensive=True)
   print(resp)
   dev.close()

   for x in resp.findall(xxxxxxxxx): 
      if aaa
      else:
   return resp 
data(request)
4

1 回答 1

0

打印语句应该在函数内部工作。我猜你是在返回后放置打印语句。在代码中,由于 return 语句将退出函数,因此在 return 语句将被执行后您没有提供任何内容。当你完成所有你希望你的函数执行的任务时,确保你把 return 放在最后。

此外,一个函数中只能有一个 return 语句。如果您想返回多个变量,请将它们放在一个列表中或使用类似的东西

return a, b

然后像这样抓住他们

val_a, val_b = data()
于 2019-03-10T08:43:20.007 回答