如何在python中添加编码 askopenfile

How to add encoding in python askopenfile

我想知道,是否有机会直接将编码添加到 tkFileDialog.askopenfile 正文中? 现在我使用 askopenfilename 代替,然后使用 codecs 像这样编码文件:

def open():
    filename = askopenfilename(filetypes=[("Text files","*.xml")])
    if filename == '':
        return
    with codecs.open(filename, encoding='utf-8') as f:
        txt = f.read()
        delete(xml)
        xml.insert("1.0", txt)

我想问的是,如何使用 askopenfile 做同样的事情,像这样:

with askopenfile(filetypes=[("Text files","*.xml")], encoding='utf-8') as f:

非常感谢任何建议或其他方法来做到这一点。

只需将 askopenfilename() 合并到 with():

with codecs.open(askopenfilename(filetypes=[("Text files","*.xml")]), encoding='utf-8') as f: