我想在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
任何人都可以解释一下如何修复它吗?
答案 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