如何解决Python/configparser文件数据读取
我在从文件中读取数据时遇到了一些问题。我想通过函数从 .ini 数据文件中获取属性为红色,但是 configparser 没有正确读取它。如果有人能解释这是错误的,我将不胜感激。提前致谢!
函数片段
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)
我的 .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
函数需要在 filetypes 参数中包含一个元组,而您为其提供字符串数据类型。
正如 Nirmal Dey 指出的那样,ConfigParser
只会返回字符串值。您必须使用例如将它们转换为 Python 类型ast.literal_eval
FWIW,我编写了一个名为 configdot 的小包来解析 INI 文件。它将自动返回 Python 类型,并允许对配置变量进行属性样式访问(例如 config.select.ft
在您的情况下)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。