尝试从声音和zip文件保存jpeg图像时出错

时间:2012-11-27 00:31:33

标签: python python-3.x

我想在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

任何人都可以解释一下如何修复它吗?

1 个答案:

答案 0 :(得分: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.wav(我在Python 2.6上运行此文件,其中with不支持gzip,但使用{{如果您使用2.7+),那么您所做的语句会更好。对于with部分,我并非100%确定我理解 - 您是否只想将jpg文件重新保存为gz?如果你想将它们保存在同一档案中,你将无法使用jpg,但如果由于某种原因想要重新保存到新档案,我想你可以试试这个:

gzip