![](/img/trans.png)
[英]Reading a configuration file in Python (storing/reading nested data with ConfigParser)
[英]Python / configparser file data reading
我在从文件中读取数据时遇到了一些问题。 我想通过 function 从.ini数据文件中获取属性,但configparser无法正确读取它。 如果有人能解释这是错误的,我将不胜感激。 先感谢您!
Function 片段
config = configparser.ConfigParser()
config.read('config.ini')
def browseFiles():
filename = filedialog.askopenfilename(initialdir = config['select']['dir'],
title = config['select']['ttl'],
filetypes = config['select']['ft'])
# Change label contents
label_file_explorer.configure(text="File Opened: "+filename)
my.ini 文件数据
[select]
#directory
dir = "home/"
#title
ttl = "Select a File"
#filetype
ft = (("Text files","*.txt*"),("all files","*.*"))
Config parsers do not guess datatypes of values in configuration files, always storing them internally as strings.
.ini 文件中存在的每个键值对都将被解析为字符串。
您的filedialog.askopenfilename
function 在您给它一个字符串数据类型时,在 filetypes 参数中需要一个元组。
正如 Nirmal Dey 指出的那样, ConfigParser
只会返回字符串值。 您必须使用例如ast.literal_eval
将它们转换为 Python 类型
FWIW,我写了一个名为configdot 的小 package用于解析 INI 文件。 它将自动返回 Python 类型,并且还允许对配置变量进行属性样式访问(例如config.select.ft
在您的情况下)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.