-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'的增量移動。 –