在python中以二进制格式读取任何文件(图像,mp3,或视频,或文本)

Posted

技术标签:

【中文标题】在python中以二进制格式读取任何文件(图像,mp3,或视频,或文本)【英文标题】:Read any file (image ,mp3 ,or video ,or text ) in binary format in python 【发布时间】:2020-02-17 19:05:29 【问题描述】:

这是我将字符串转换为二进制格式的尝试:

  std ="this is the code"
  res=''.join(format(ord(i),'b')for i in test_str)
  print(" this is the conversion "+str(res))

输出:

这是转换 11101001101000110100111100111000001101001111001110000011101001101000110010110000011000111101111110010 01100101

file(ex.text,video,mp3 etc)的二进制类型怎么办?

【问题讨论】:

你的实际目标是什么?如果你可以打印“这个 MP3 文件是 001010111010100101...”,那会完成什么?这很可能是基于对二进制数据的误解而建立的XY problem。 在这里我想将视频、mp3、图像等文件转换成这种 0 和 1 格式。可以吗?就像我对字符串所做的那样! ...对,但是为什么? MP3 一种二进制格式。把它转换成一串1和0有什么意义? 【参考方案1】:

我相信您的问题与 Python 并不严格相关,而是与任何语言相关,因为问题涉及:What is a binary file。二进制文件只是01(很多时候直接在hexa 中读取),你必须知道保存的结构(通常是struct)是serialized。

因此,您必须知道您正在阅读的文件类型,并且有一个知道该特定文件的二进制结构的解析器。这就是为什么你有图书馆。每个库知道一种或多种类型的文件要读/写。在 Linux 中(例如),扩展名完全无关紧要,文件的内容才是最重要的。

为了更准确地满足您的要求,一些链接可以帮助您通过How to read/process <your-file-format> in python(知道扩展名并不重要,文件格式很重要!)

阅读.mp3:Read MP3 in Python 3 读取.wmv:Is there a library like pymedia, but more updated? 阅读.jpeg:https://www.geeksforgeeks.org/reading-images-in-python/

【讨论】:

以上是关于在python中以二进制格式读取任何文件(图像,mp3,或视频,或文本)的主要内容,如果未能解决你的问题,请参考以下文章

在 WinRT 中以任何图像格式捕获视频

在Qt中以二进制形式读取0和1文本文件[重复]

像在 python 中一样在 C++ 中读取二进制文件

Python中读取二进制图片(例如 a.jpg)有关解码编码的问题

如何在 MATLAB 中以 *.dat 格式导出图像

在 pyspark 中以 csv 格式读取 excel 文件