-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% 确定我理解 - 你只是想将你的文件重新保存为? 如果您想将它们都保存在同一个存档中,您将无法使用,但如果您出于某种原因想要重新保存到新存档中,我想您可以试试这个: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 回答