-4
me=1
while (me < 244):
f=open('%s' % me, 'rb')
tdata = f.read()
f.close()
ss = '\xff\xd8'
se = '\xff\xd9'
count = 0
start = 0
while True:
x1 = tdata.find(ss,start)
if x1 < 0:
break
x2 = tdata.find(se,x1)
jpg = tdata[x1:x2+1]
count += 1
fname = 'extracted%d03.jpg' % (count)
fw = open(fname,'wb')
fw.write(jpg)
fw.close()
start = x2+2
me=me+1
我试图为多个文件运行此文件。 但它只对文件1和其余文件的操作被忽略。 我是非常新的蟒蛇任何人都可以调整这一点?Loop不处理目录中的其他文件
@PaulRooney我用“%s”的%我,“RB”使用1作为文件名 和文件名是不带任何扩展 的代码是从缩略图数据中提取jpg –
我用一些虚拟文件运行了这个程序,程序很好地处理了它们。请发布重现问题的代码和数据。 – Prune
在'while True'循环中有'me = me + 1'。如果你的第一个文件有多于243个你正在查找的实例,那么外层循环只会运行一次。简而言之,将内部循环之外的'me'的增量移动。 –