是否可以使用ConfigParser获得随机值

问题描述

我想从.ini文件获取14到55之间的随机值。我知道我做错了,但是正确的方法是什么?

import random
import configparser

IN_settings = configparser.ConfigParser()
IN_settings.read('config.ini')

print(IN_settings['common'].getint((random.randint('out_put')))

这是我的配置文件

[common]
out_put = 14,55

解决方法

random.randint()函数不使用字符串作为参数。它使用两个整数作为参数。

因此,当您说random.randint('out_put')时,该功能不起作用。 'out_put'是一个字符串,而不是两个整数。

您需要首先读取实际的整数。 当然,字段out_put不是单个整数,而是两个整数。我们必须将其读取为字符串,然后将其转换。

range_str = IN_settings['common'].get('out_put')
range_ints = [int(x) for x in range_str.split(',')]
random_int = random.randint(range_ints[0],range_ints[1])
print(random_int)

那行得通。对于您的示例文件,这将在间隔[14,55](包括端点)中打印一个随机整数。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...