我只是寻找获取文件的最佳方法,删除前6个字节和最后一个字节,然后将其保存为.JPG格式。 (原始文件是.TEC格式,用作照片的缓存。)
解决了,甚至让它循环到我的文件名称“Old(1)”“Old(2)”等的地方。这样更容易重命名它们。因为windows会自动以这种格式重命名。我有444个文件要转换,这很好用。现在我可以看到所有的裸体。取胜。
x = 1
while (x < 445):
fp = open('Change ('+str(x)+').tec', "rb")
data = fp.read()
fp.close()
fp = open('Changed ('+str(x)+').jpg', "wb")
fp.write(data[6:-1])
fp.close()
x = x + 1
答案 0 :(得分:3)
不确定“最佳”是什么意思,但最简单的方法就是将其全部读入并切片:
fp = open(filename, "rb")
data = fp.read()
fp.close()
fp = open(jpegfilename, "wb")
fp.write(data[6:-1])
fp.close()
正如评论中指出的那样,如果你的JPEG非常大,那么立即读取整个内容可能会耗尽你的记忆力。相反,你可以一次阅读它,如下所示:
with open(filename, "rb") as ifile:
with open(jpegfilename, "wb") as ofile:
ifile.read(6)
prev = None
while True:
chunk = ifile.read(4096)
if chunk:
if prev:
ofile.write(prev)
prev = chunk
else:
break
if prev:
ofile.write(prev[:-1])
但鉴于大多数JPEG可能不会让你的记忆力下降,这可能比你真正需要的更复杂。