如何在Python中将.bin文件复制到文本文件

2024-09-28 22:35:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试获取一个后缀为.bin的文件,对其进行编码,然后将其发送给其他人(不支持以.bin格式发送它)…问题是当我使用命令时:

with open('myfile.bin','r') as fileToCopy:

我收到一条错误信息

^{pr2}$

所以我考虑了一个解决办法,就是把文件转换成.txt,然后发送出去。 我试图将二进制文件复制到文本文件中,我使用的代码是

with open('myfile.bin','rb') as fileToCopy:
    with open('newfile.txt,'w') as myNewFile:
        for line in fileToCopty:
            myNewFile.write(line)

.bin文件包含如下行:

244e 504b 0100 3900 9000 0003 0100 0000
8000 0003 0200 0000 a432 0002 0000 0000
0002 0a02 0103 0000 0001 0a02 0003 0000
0001 0a02 0103 0000 0002 0a02 0003 0000

但结果是一个包含垃圾的文件。 我还试图将字节解码为utf-8格式,但收到以下错误消息:

'utf-8' codec can't decode byte 0xfa in position 1:invalid start bye

我用来解码为'utf-8格式的代码是:

with open('myfile.bin','rb') as fileToCopy:
    with open('newfile.txt,'w') as myNewFile:
        for line in fileToCopty:
            myNewFile.write(line.decode('utf-8'))

我做错什么了吗?有别的办法吗?在


Tags: 文件代码intxtbinas格式with
1条回答
网友
1楼 · 发布于 2024-09-28 22:35:16

不清楚你想做什么。您可能正在尝试将现有文件myfile.bin复制到新文件newfile.txt,或者试图将二进制文件转换为人类可读的格式。在

假设您的目标是将文件myfile.bin复制到newfile.txt,那么您可以看看Python标准库中的模块shutil。它包含高级文件操作,如copymovedelete等。在

如果您的目标是将文件内容解码为人类可读的格式,而您关于该文件的唯一信息是其.bin结尾,那么您可能会遇到问题。二进制文件可以编码任何信息,如图像、文本或视频。在不知道编码类型的情况下,内容对您或多或少是无用的。在

相关问题 更多 >