-1

私はPythonで次のことをしたい: -サウンドファイルを取る -それをgzip (gz拡張子)のzipファイルに変換する -それをjpg拡張子で保存する

これは私が試したコードです:

import gzip

# write compressed file
with gzip.open('sound.wav', 'wb') as f:
    f.write(content)

# read it again
with gzip.open('my_file.jpg', 'rb') as f:
    content = f.read()

そして、私はこのエラーを受け取りました:

 f.write(content)
NameError: name 'content' is not defined

誰かがそれを修正する方法を説明できますか?

4

1 に答える 1

0

content書き込みたいファイルの内容が含まれている必要があります。content変数を指定することはないため、 に到達するとf.write(content)、Python は何が何でcontentあるかを認識せず、エラーをスローします。sound.wavあなたの.wavファイルの場合は、次を試してください:

In [1]: import gzip

In [2]: with open('sound.wav', 'rb') as f:
   ...:     o = gzip.open('zipped_file.gz', 'wb')
   ...:     o.write(f.read())
   ...:     o.close()
   ...:
   ...:

これにより、zipped_file.gzファイルに次の内容が書き込まれます (これは でサポートされていないsound.wavPython 2.6 で実行しましたが、2.7 以降を使用している場合は、ステートメントを使用する方が適切です)。その部分については、100% 理解しているとは言えません。ファイルを .xml として再保存しますか? 両方を同じアーカイブに保存したい場合は、 ではできませんが、何らかの理由で新しいアーカイブに保存し直したい場合は、次のようにしてみてください:withgzipwithjpggzjpggzip

In [3]: j = gzip.open('my_file.jpg', 'wb')

In [4]: o = gzip.open('zipped_file.gz', 'rb')

In [5]: j.write(o.read())

In [6]: j.close()

In [7]: o.close()
于 2012-11-27T02:40:58.510 に答える