我正在尝试编写一个Python程序,它从LabView获取多个二进制文件,从tkinter对话框中选择并打开,然后将它们转换为可读的文本文件(最好是csv文件)。但是,我在二进制到文本的转换上遇到了问题。在
我试过看binascii模块。我不清楚你能用这个模块来转换多个页面文件,只有短字符串。在
所以,现在,我想我应该用utf-8编码打开文件,然后用这种编码读/写它。也许这不是最快或最可靠的路线,但我在这里写了一个简短的代码:from tkinter import Tk, filedialog
root = Tk();
files = filedialog.askopenfilenames(parent=root,title='Choose a file')
print ('The tuple that represents your selected files is ', root.tk.splitlist(files))
fileslist = list(files)
print ('The list (mutable) that represents your selected files is ', fileslist)
for file in fileslist:
with open(file, encoding="utf-8") as f:
print (f.read())
我导入tkinter,得到一个文件对话框,然后将我选择的多个文件的元组转换成一个列表。不过,我注意到,在我的“for file in fileslist”for循环中,该文件是作为字符串读取的。我不确定那是我想要的。无论如何,如果您能帮助解决以下问题,我们将不胜感激:将二进制文件转换为可读文本文件——我知道它们是二进制文件,我不确定具体的字符编码;如果在写字板中打开文件,它的第一个字符是b。在
帮助创建一个循环,将转换后选定的文件保存在原来的列表中,以便用户可以进行进一步的操作。在
如果我按原样运行代码,会得到以下错误输出:
^{pr2}$