首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python / reading解析器文件数据读取

Python / reading解析器文件数据读取
EN

Stack Overflow用户
提问于 2021-05-03 10:46:48
回答 2查看 558关注 0票数 0

我在从文件中读取数据时遇到了一些问题。我想让.ini数据文件中的属性被函数红色,但是configparser解析器没有正确读取它。如果有人能解释这是错误的,我将非常感激。提前谢谢你!

函数片段

代码语言:javascript
复制
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文件数据

代码语言:javascript
复制
[select]
#directory
dir = "home/"
#title
ttl = "Select a File"
#filetype
ft = (("Text files","*.txt*"),("all files","*.*"))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-03 12:00:41

正如Nirmal所指出的,ConfigParser只返回字符串值。您必须使用例如ast.literal_eval将它们转换为Python类型。

FWIW,我编写了一个名为[化]结构点的小包,用于解析INI文件。它将自动返回Python类型,并允许属性样式访问配置变量(例如,在您的例子中是config.select.ft )。

票数 1
EN

Stack Overflow用户

发布于 2021-05-03 11:07:14

Config parsers do not guess datatypes of values in configuration files, always storing them internally as strings.

.ini文件中的每个键值对都将被解析为一个字符串。

函数在为filedialog.askopenfilename提供字符串数据类型时,需要在filetypes参数中使用一个元组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67367637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档