如何使用 Python 中的 ConfigParser() 读取列表中的列表?
How can I read in lists within a list using ConfigParser() in Python?
我在 Python:
中看到了很多关于如何使用 ConfigParser 读取列表的答案
- Lists in ConfigParser
- Getting a list from a config file with ConfigParser
但我想知道如何读取包含多个列表的列表
比如我有一个config.ini:
[INPUT]
values = [[40000, 60000], [70000, 80000]]
我的main.py中的一个函数需要将上面的内容读作:
[[40000, 60000], [70000, 80000]]
我不确定这是否重要,但值可以是任何大小的列表,例如:
[[40000, 60000]]
或
[[40000, 60000], [70000, 80000], [90000, 95000]]
我知道以下内容不起作用,但为了清楚起见,我正在将列表中的列表读入 main.py,如下所示:
self.values = config['INPUT']['values']
self
在那里是因为我使用的是 class。这些是我在 main.py:
开头的声明
import configparser
config = configparser.ConfigParser()
config.sections()
config.read('config.ini')
您可以将列表(或列表列表或字典或其他任何内容)存储为字符串,并使用 ast
恢复它。
配置:
[INPUT]
values = [[40000, 60000], [70000, 80000]]
和脚本(简化为从配置中读取字符串变量不是问题):
import ast
list_in_list = ast.literal_eval(string_var_read_from_config)
我在 Python:
中看到了很多关于如何使用 ConfigParser 读取列表的答案- Lists in ConfigParser
- Getting a list from a config file with ConfigParser
但我想知道如何读取包含多个列表的列表
比如我有一个config.ini:
[INPUT]
values = [[40000, 60000], [70000, 80000]]
我的main.py中的一个函数需要将上面的内容读作:
[[40000, 60000], [70000, 80000]]
我不确定这是否重要,但值可以是任何大小的列表,例如:
[[40000, 60000]]
或
[[40000, 60000], [70000, 80000], [90000, 95000]]
我知道以下内容不起作用,但为了清楚起见,我正在将列表中的列表读入 main.py,如下所示:
self.values = config['INPUT']['values']
self
在那里是因为我使用的是 class。这些是我在 main.py:
import configparser
config = configparser.ConfigParser()
config.sections()
config.read('config.ini')
您可以将列表(或列表列表或字典或其他任何内容)存储为字符串,并使用 ast
恢复它。
配置:
[INPUT]
values = [[40000, 60000], [70000, 80000]]
和脚本(简化为从配置中读取字符串变量不是问题):
import ast
list_in_list = ast.literal_eval(string_var_read_from_config)