一个关于python的小功能《提取文件中的jpg信息》

参考文章
:
强大
我这里用的是一个NORFA.txt的文件示范的 首先你要创建一个文件改一下路径即可
关于缩进的那些事
关于文件操作 的事
关于菜鸟痛苦的事


import sys
import os
import string
headers=[(b'JFIF', 6, "jpg"),(b'GIF',0,"gif"),(b'PNG',1, "png")]
marker=[]
filename = "d:\\ppt\\NORFA.txt"
try:
    fid = open(filename,'rb')
except:
    sys.exit(1)
numlin = len(fid.readlines())
fid .seek(0)
i = 0; s = 0
curlin = fid.readline()
while i < numlin:
    for flag,offset, ext in headers:
        index =curlin.find(flag)
        if index < 0:
            continue
        else:
            pos = s + index -offset
            marker.append((pos, ext))
    s = s + len(curlin)
    curlin = fid.readline()
    i += 1
fid.seek(0)
j = len(marker)
imgnum = 0
if j == 0:
    print("No images included in the document")
    sys.exit(1)
for i in range(0,j):
    if i == j-1:
        info = marker[i]
        thispos = info[0]
        thisext = info[1]
        nextpos = s
        gap = nextpos - thispos
        fid.seek(thispos)
        data = fid.read(gap)
        imgname = "imgname%02d.%s" % (i,thisext)
        fid1 = open(imgname,'wb')
        fid1.write(data)
        fid1.close()
        imgnum += 1
    else:
        info = marker[i]
        thispos = info[0]
        thisext = info[1]
        nextinfo = marker[i+1]
        nextpos = nextinfo[0]
        gap = nextpos - thispos
        fid.seek(thispos)
        data = fid.read(gap)
        imgname = "imgname%02d.%s" % (i, thisext)
        fid1 = open(imgname, 'wb')
        fid1.write(data)
        fid1.close()
        imgnum += 1
fid.close()
print("%02d imgaes have benn extracted" % imgnum)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值