python-3.x - 如何使用带有“utf-8”编码的“filedialog.askopenfile”打开文件。我可以打开文件,但它以不同的编码打开
问题描述
当我通常打开文件时,我使用open
语法,它让我可以选择使用特定编码打开,例如。
f = open('L2G8970_PSA_PVS_SmokeTest_Report_Trial.xml', encoding="utf8")
但是当我尝试使用 tkinter 的filedialog.askopenfile()
语法时
filename = filedialog.askopenfilename()
文件以不同的编码打开。
请帮助了解如何使用 utf-8 编码导入。
解决方案
from tkinter import filedialog
filename = filedialog.askopenfilename()
with open(filename, 'r', encoding='utf8') as file:
textfromfile = file.read()
file.close()
print(textfromfile)
上面的示例弹出一个文件对话框,让您选择一个文件,以读取方式加载文件,使用 utf-8 编码,并将其打印到控制台。
我将此解决方法与 filedialog.askopenfilename() 一起使用,因为 filedialog.askopenfile() 方法扰乱了我的文本文件中的一些字符(“ë”等)。
现在它工作正常,因为我使用的原始文本都是 utf-8 编码的。
推荐阅读
- c++ - ComputeLibrary 数据类型模板
- docker - 当我将 go 与 docker compose 一起使用时出现“没有 Go 文件...”错误
- ios - 使用相同的默认 UIImage 对象进行单元重用/初始化
- angular-material - 如何启用具有多选和动态列的 mat-table
- firebase - Google Cloud Functions 的开发环境
- json - Flutter:如何解码这个复杂的 JSON 字符串
- python - 如何在 python-jsonschema 文档中设置本地文件引用?
- android - 挣扎着手势拖动
- docker - 无法在无人机 docker build 上标记图像:解析参考时出错:“:最新”不是有效的存储库/标签:参考格式无效
- vb.net - Arint System.Drawing.Graphics 假设写入/修改其附加到的图像?