首页 / PYTHON / python – 随机选择函数
python – 随机选择函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 随机选择函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1777字,纯文字阅读大概需要3分钟。
内容图文
![python – 随机选择函数](/upload/InfoBanner/zyjiaocheng/804/16bb0738afe64717bc597393f153cffc.jpg)
我正在编写一个测试脚本,其中包含不同测试的不同功能.我希望能够随机选择要运行的测试.我已经通过以下功能实现了这一目标……
test_options = ("AOI", "RMODE")
def random_test(test_options, control_obj):
ran_test_opt = choice(test_options)
if ran_test_opt.upper() == "AOI":
logging.debug("Random AOI Test selected")
random_aoi()
elif ran_test_opt.upper() == "RMODE":
logging.debug("Random Read Mode Test selected")
random_read_mode(control_obj)
但是,我希望在不必修改随机测试选择功能的情况下添加更多测试功能.我想要做的就是在脚本中添加测试功能.另外,我还想要一种方法来选择哪个测试将包含在随机选择中.这就是变量test_options的作用.我将如何改变我的随机生成函数来实现这一目标?
编辑:我解决了所有测试可能需要不同的参数,将它们全部包含在测试类中.所有参数都将传递给init,测试函数将使用“self”引用它们.当他们需要一个特定的变量时……
class Test(object):
"""A class that contains and keeps track of the tests and the different modes"""
def __init__(self, parser, control_obj):
self.parser = parser
self.control_obj = control_obj
def random_test(self):
test_options = []
for name in self.parser.options('Test_Selection'):
if self.parser.getboolean('Test_Selection', name):
test_options.append(name.lower())
ran_test_opt = choice(test_options)
ran_test_func = getattr(self, ran_test_opt)
ran_test_func()
#### TESTS ####
def random_aoi(self):
logging.info("Random AOI Test")
self.control_obj.random_readout_size()
def random_read_mode(self):
logging.info("Random Readout Mode Test")
self.control_obj.random_read_mode()
解决方法:
您可以在python中创建一个函数列表,您可以调用它们:
test_options = (random_aoi, random_read_mode)
def random_test(test_options, control_obj):
ran_test_opt = choice(test_options)
ran_test_opt(control_obj) # call the randomly selected function
您必须使每个函数以这种方式使用相同的参数,因此您可以以相同的方式调用它们.
内容总结
以上是互联网集市为您收集整理的python – 随机选择函数全部内容,希望文章能够帮你解决python – 随机选择函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。