• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            我希望你是我獨家記憶

            一段永遠封存的記憶,隨風而去
            posts - 263, comments - 31, trackbacks - 0, articles - 3
               :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

            python類學習

            Posted on 2009-07-27 16:54 Hero 閱讀(222) 評論(0)  編輯 收藏 引用 所屬分類: C#積累
             1 import os
             2 import sys
             3 from UserDict import UserDict
             4 
             5 def stripnulls(data):
             6     "strip whitespace and nulls"
             7     return data.replace("\00"" ").strip()
             8 
             9 class FileInfo(UserDict):
            10     "store file metadata"
            11     def __init__(self, filename=None):
            12         UserDict.__init__(self)
            13         self["name"= filename
            14     
            15 class MP3FileInfo(FileInfo):
            16     "store ID3v1.0 MP3 tags"
            17     tagDataMap = {"title"   : (  3,  33, stripnulls),
            18                   "artist"  : ( 33,  63, stripnulls),
            19                   "album"   : ( 63,  93, stripnulls),
            20                   "year"    : ( 93,  97, stripnulls),
            21                   "comment" : ( 97126, stripnulls),
            22                   "genre"   : (127128, ord)}
            23     
            24     def __parse(self, filename):
            25         "parse ID3v1.0 tags from MP3 file"
            26         self.clear()
            27         try:
            28             fsock = open(filename, "rb", 0)
            29             try:
            30                 fsock.seek(-1282)
            31                 tagdata = fsock.read(128)
            32             finally:
            33                 fsock.close()
            34             if tagdata[:3== 'TAG':
            35                 for tag, (start, end, parseFunc) in self.tagDataMap.items():
            36                     self[tag] = parseFunc(tagdata[start:end])
            37         except IOError:
            38             pass
            39 
            40     def __setitem__(self, key, item):
            41         if key == "name" and item:
            42             self.__parse(item)
            43         FileInfo.__setitem__(self, key, item)
            44 
            45 def listDirectory(directory, fileExtList):
            46     "get list of file info objects for files of particular extensions"
            47     fileList = [os.path.normcase(f) for f in os.listdir(directory)]
            48     fileList = [os.path.join(directory, f) for f in fileList \
            49                 if os.path.splitext(f)[1in fileExtList]
            50     def getFileInfoClass(filename, module=sys.modules[FileInfo.__module__]):
            51         "get file info class from filename extension"
            52         subclass = "%sFileInfo" % os.path.splitext(filename)[1].upper()[1:]
            53         return hasattr(module, subclass) and getattr(module, subclass) or FileInfo
            54     return [getFileInfoClass(f)(f) for f in fileList]
            55 
            56 if __name__ == "__main__":
            57     for info in listDirectory("E:\\fish", [".mp3"]):
            58         print ("\n".join(["%s=%s" % (k, v) for k, v in info.items()])   )     
            59 
            99久久99久久精品国产片果冻| 久久久久久精品成人免费图片| 精品熟女少妇a∨免费久久| 久久亚洲精精品中文字幕| 91精品国产高清久久久久久io | 色综合色天天久久婷婷基地| 久久精品视频免费| 久久99热这里只有精品国产| 人妻无码久久精品| AV无码久久久久不卡蜜桃| 国产伊人久久| 99久久无色码中文字幕 | 国产精自产拍久久久久久蜜| 久久天天躁狠狠躁夜夜不卡 | 久久亚洲AV成人无码电影| 国产—久久香蕉国产线看观看| 97久久国产综合精品女不卡| 亚洲一本综合久久| 久久99精品久久久久子伦| 污污内射久久一区二区欧美日韩| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 国产精品无码久久综合| 麻豆久久| 久久国产精品免费| 久久久久久狠狠丁香| 久久久久国产精品人妻 | 久久伊人精品一区二区三区| 91超碰碰碰碰久久久久久综合| 亚洲AV无码1区2区久久| 欧美久久久久久精选9999| 88久久精品无码一区二区毛片 | 成人久久综合网| 欧美一区二区三区久久综合| 久久男人AV资源网站| 久久精品国产国产精品四凭| 一级做a爰片久久毛片人呢| 国产精品久久久久久影院| 99久久99久久精品免费看蜜桃| 国产∨亚洲V天堂无码久久久| 国产婷婷成人久久Av免费高清| 亚洲AV日韩精品久久久久|