PythonでファイルライクオブジェクトにMP3のメタデータを編集しますか?

StackOverflow https://stackoverflow.com/questions/1534374

  •  20-09-2019
  •  | 
  •  

質問

私たちはPythonでオンザフライでMP3ファイルを生成し、ファイルのようなオブジェクトを使用してメモリ内のID3ヘッダを編集する必要があります。

は、PyPI の上

すべてのID3ライブラリ表示されますの文字列としてファイルシステムのパスを渡すためにあなたを必要としています。私は、これはかなりイライラ見つける!

ちょうどID3タグを追加するために、ディスク(またはRAMディスク)に、当社の生成MP3を書くことは多くの理由から、特にパフォーマンスには受け入れられない。

のID3ライブラリののplentitudeを考えると、単にファイルのようなオブジェクトで動作ID3ライブラリはありますか?

役に立ちましたか?

解決 3

さて、答えはそのような動物が存在しないということのようです。インターフェイスへのプログラミングの利点は明らかにPythonのMP3フレームのハッカーに失われます。私たちは、既存のライブラリを変更することで問題を解決します。

他のヒント

遠い将来にこの答えを見つけたもの、変異原の、完璧に取り組んできました私とそのMP3のオブジェクトのいずれかのコンストラクタのにかかるのいずれかのファイルパスまたはのファイルのようなオブジェクト(ドキュメントは「filething」それを呼び出します)。

https://mutagen.readthedocs.io/en/latest/からユーザー/ filelike.htmlするます:

  

のFileTypeやメタデータに渡される最初の引数は、ファイル名やファイルのようなオブジェクト、このようにStringIO(Pythonの3中BytesIO)や変異原のいずれかであることができる何をすべきかを把握します。

MP3("myfile.mp3")
MP3(myfileobj)

はStringIOは助けていますか? http://docs.python.org/library/stringio.htmlする

AFAIRタグはファイルの末尾に追加されます。あなたはフォーマットを研究し、シンプルなライブラリ自身、非常に難しいことではありませんようにしたいかもしれません。

また、あなたはtmpfsの(RAMディスク)などのファイルシステム上の一時保管する検討することもでき。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top