• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Python utils.nunpack函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中utils.nunpack函数的典型用法代码示例。如果您正苦于以下问题:Python nunpack函数的具体用法?Python nunpack怎么用?Python nunpack使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了nunpack函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: get_pos

 def get_pos(self, objid):
     offset = 0
     found = False
     for objid_range in self.objid_ranges:
         if objid_range.get_start_id() <= objid <= objid_range.get_end_id():
             offset += objid - objid_range.get_start_id()
             found = True
             break
         else:
             offset += objid_range.get_nobjs()
     if not found:
         raise KeyError(objid)
     i = self.entlen * offset
     ent = self.data[i:i + self.entlen]
     f1 = nunpack(ent[:self.fl1], 1)
     if f1 == 1:
         pos = nunpack(ent[self.fl1:self.fl1 + self.fl2])
         genno = nunpack(ent[self.fl1 + self.fl2:])
         return None, pos
     elif f1 == 2:
         objid = nunpack(ent[self.fl1:self.fl1 + self.fl2])
         index = nunpack(ent[self.fl1 + self.fl2:])
         return objid, index
     # this is a free object
     raise KeyError(objid)
开发者ID:mcs07,项目名称:pdfminer,代码行数:25,代码来源:pdfparser.py


示例2: getpos

 def getpos(self, objid):
   if objid < self.objid0 or self.objid1 <= objid:
     raise IndexError(objid)
   i = self.entlen * (objid-self.objid0)
   ent = self.data[i:i+self.entlen]
   f1 = nunpack(ent[:self.fl1], 1)
   if f1 == 1:
     pos = nunpack(ent[self.fl1:self.fl1+self.fl2])
     genno = nunpack(ent[self.fl1+self.fl2:])
     return (None, pos)
   elif f1 == 2:
     objid = nunpack(ent[self.fl1:self.fl1+self.fl2])
     index = nunpack(ent[self.fl1+self.fl2:])
     return (objid, index)
开发者ID:abduld,项目名称:pdftoref,代码行数:14,代码来源:pdfparser.py


示例3: getpos

 def getpos(self, objid):
   if objid < self.objid_first or self.objid_last < objid:
     raise KeyError(objid)
   i = self.entlen * (objid-self.objid_first)
   ent = self.data[i:i+self.entlen]
   f1 = nunpack(ent[:self.fl1], 1)
   if f1 == 1:
     pos = nunpack(ent[self.fl1:self.fl1+self.fl2])
     genno = nunpack(ent[self.fl1+self.fl2:])
     return (None, pos)
   elif f1 == 2:
     objid = nunpack(ent[self.fl1:self.fl1+self.fl2])
     index = nunpack(ent[self.fl1+self.fl2:])
     return (objid, index)
   # this is a free object
   raise KeyError(objid)
开发者ID:Big-Data,项目名称:pypes,代码行数:16,代码来源:pdfparser.py


示例4: __init__

 def __init__(self, fp):
     self.fp = fp
     self.offsets = []
     (count, offsize) = struct.unpack('>HB', self.fp.read(3))
     for i in xrange(count + 1):
         self.offsets.append(nunpack(self.fp.read(offsize)))
     self.base = self.fp.tell() - 1
     self.fp.seek(self.base + self.offsets[-1])
开发者ID:mcs07,项目名称:pdfminer,代码行数:8,代码来源:pdffont.py


示例5: get_objids

 def get_objids(self):
     for (start, nobjs) in self.ranges:
         for i in xrange(nobjs):
             offset = self.entlen * i
             ent = self.data[offset:offset+self.entlen]
             f1 = nunpack(ent[:self.fl1], 1)
             if f1 == 1 or f1 == 2:
                 yield start+i
     return
开发者ID:andy-huang,项目名称:pdfminer,代码行数:9,代码来源:pdfdocument.py


示例6: get_pos

 def get_pos(self, objid):
     index = 0
     for (start,nobjs) in self.ranges:
         if start <= objid and objid < start+nobjs:
             index += objid - start
         else:
             index += nobjs
     else:
         raise KeyError(objid)
     offset = self.entlen * index
     ent = self.data[offset:offset+self.entlen]
     f1 = nunpack(ent[:self.fl1], 1)
     f2 = nunpack(ent[self.fl1:self.fl1+self.fl2])
     f3 = nunpack(ent[self.fl1+self.fl2:])
     if f1 == 1:
         return (None, f2, f3)
     elif f1 == 2:
         return (f2, f3, 0)
     else:
         # this is a free object
         raise KeyError(objid)
开发者ID:Web5design,项目名称:pdfminer,代码行数:21,代码来源:pdfdocument.py


示例7: do_keyword

    def do_keyword(self, pos, token):
        name = token.name
        if name == 'begincmap':
            self._in_cmap = True
            self.popall()
            return
        elif name == 'endcmap':
            self._in_cmap = False
            return
        if not self._in_cmap: return
        #
        if name == 'def':
            try:
                ((_,k),(_,v)) = self.pop(2)
                self.cmap.set_attr(literal_name(k), v)
            except PSSyntaxError:
                pass
            return

        if name == 'usecmap':
            try:
                ((_,cmapname),) = self.pop(1)
                self.cmap.use_cmap(CMapDB.get_cmap(literal_name(cmapname)))
            except PSSyntaxError:
                pass
            except CMapDB.CMapNotFound:
                pass
            return

        if name == 'begincodespacerange':
            self.popall()
            return
        if name == 'endcodespacerange':
            self.popall()
            return

        if name == 'begincidrange':
            self.popall()
            return
        if name == 'endcidrange':
            objs = [ obj for (_,obj) in self.popall() ]
            for (s,e,cid) in choplist(3, objs):
                if (not isinstance(s, str) or not isinstance(e, str) or
                    not isinstance(cid, int) or len(s) != len(e)): continue
                sprefix = s[:-4]
                eprefix = e[:-4]
                if sprefix != eprefix: continue
                svar = s[-4:]
                evar = e[-4:]
                s1 = nunpack(svar)
                e1 = nunpack(evar)
                vlen = len(svar)
                #assert s1 <= e1
                for i in xrange(e1-s1+1):
                    x = sprefix+struct.pack('>L',s1+i)[-vlen:]
                    self.cmap.add_code2cid(x, cid+i)
            return

        if name == 'begincidchar':
            self.popall()
            return
        if name == 'endcidchar':
            objs = [ obj for (_,obj) in self.popall() ]
            for (cid,code) in choplist(2, objs):
                if isinstance(code, str) and isinstance(cid, str):
                    self.cmap.add_code2cid(code, nunpack(cid))
            return

        if name == 'beginbfrange':
            self.popall()
            return
        if name == 'endbfrange':
            objs = [ obj for (_,obj) in self.popall() ]
            for (s,e,code) in choplist(3, objs):
                if (not isinstance(s, str) or not isinstance(e, str) or
                    len(s) != len(e)): continue
                s1 = nunpack(s)
                e1 = nunpack(e)
                #assert s1 <= e1
                if isinstance(code, list):
                    for i in xrange(e1-s1+1):
                        self.cmap.add_cid2unichr(s1+i, code[i])
                else:
                    var = code[-4:]
                    base = nunpack(var)
                    prefix = code[:-4]
                    vlen = len(var)
                    for i in xrange(e1-s1+1):
                        x = prefix+struct.pack('>L',base+i)[-vlen:]
                        self.cmap.add_cid2unichr(s1+i, x)
            return

        if name == 'beginbfchar':
            self.popall()
            return
        if name == 'endbfchar':
            objs = [ obj for (_,obj) in self.popall() ]
            for (cid,code) in choplist(2, objs):
                if isinstance(cid, str) and isinstance(code, str):
                    self.cmap.add_cid2unichr(nunpack(cid), code)
#.........这里部分代码省略.........
开发者ID:131db,项目名称:emotweets,代码行数:101,代码来源:cmapdb.py



注:本文中的utils.nunpack函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python utils.open_profile函数代码示例发布时间:2022-05-26
下一篇:
Python utils.now函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap