• <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
               :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

            os.walk()

            Posted on 2009-07-29 10:59 Hero 閱讀(1177) 評論(0)  編輯 收藏 引用 所屬分類: python

             

            Generate the file names in a directory tree by walking the tree either top-down or bottom-up. For each directory in the tree rooted at directory top (including top itself), it yields a 3-tuple (dirpath, dirnames, filenames).

            dirpath 
            is a string, the path to the directory. dirnames is a list of the names of the subdirectories in dirpath (excluding '.' and '..'). filenames is a list of the names of the non-directory files in dirpath. Note that the names in the lists contain no path components. To get a full path (which begins with top) to a file or directory in dirpath, do os.path.join(dirpath, name).

            If optional argument topdown 
            is True or not specified, the triple for a directory is generated before the triples for any of its subdirectories (directories are generated top-down). If topdown is False, the triple for a directory is generated after the triples for all of its subdirectories (directories are generated bottom-up).

            When topdown 
            is True, the caller can modify the dirnames list in-place (perhaps using del or slice assignment), and walk() will only recurse into the subdirectories whose names remain in dirnames; this can be used to prune the search, impose a specific order of visiting, or even to inform walk() about directories the caller creates or renames before it resumes walk() again. Modifying dirnames when topdown is False is ineffective, because in bottom-up mode the directories in dirnames are generated before dirpath itself is generated.

            By default errors 
            from the listdir() call are ignored. If optional argument onerror is specified, it should be a function; it will be called with one argument, an OSError instance. It can report the error to continue with the walk, or raise the exception to abort the walk. Note that the filename is available as the filename attribute of the exception object.

            By default, walk() will 
            not walk down into symbolic links that resolve to directories. Set followlinks to True to visit directories pointed to by symlinks, on systems that support them.

            New 
            in version 2.6: The followlinks parameter.

            Note

            Be aware that setting followlinks to True can lead to infinite recursion 
            if a link points to a parent directory of itself. walk() does not keep track of the directories it visited already.

            Note

            If you 
            pass a relative pathname, don’t change the current working directory between resumptions of walk(). walk() never changes the current directory, and assumes that its caller doesn’t either.

            This example displays the number of bytes taken by non
            -directory files in each directory under the starting directory, except that it doesn’t look under any CVS subdirectory:

            import os
            from os.path import join, getsize
            for root, dirs, files in os.walk('python/Lib/email'):
                
            print root, "consumes",
                
            print sum(getsize(join(root, name)) for name in files),
                
            print "bytes in", len(files), "non-directory files"
                
            if 'CVS' in dirs:
                    dirs.remove(
            'CVS')  # don't visit CVS directories
            In the next example, walking the tree bottom-up is essential: rmdir() doesn’t allow deleting a directory before the directory is empty:

            # Delete everything reachable from the directory named in "top",
            #
             assuming there are no symbolic links.
            #
             CAUTION:  This is dangerous!  For example, if top == '/', it
            #
             could delete all your disk files.
            import os
            for root, dirs, files in os.walk(top, topdown=False):
                
            for name in files:
                    os.remove(os.path.join(root, name))
                
            for name in dirs:
                    os.rmdir(os.path.join(root, name))

             

            久久精品国产亚洲AV不卡| 久久婷婷五月综合国产尤物app| 久久综合噜噜激激的五月天| 日韩精品无码久久久久久| 久久亚洲日韩精品一区二区三区| 国产一级持黄大片99久久| 99久久婷婷国产一区二区| 香蕉久久AⅤ一区二区三区| 日韩人妻无码一区二区三区久久 | 国产精品久久久福利| 国产成人久久久精品二区三区 | 国内精品伊人久久久久妇| 久久精品中文字幕一区| 99久久精品国产一区二区| 久久亚洲AV成人无码| 一本久久a久久精品综合夜夜| 伊人色综合久久天天网| 91精品国产91热久久久久福利| 久久久久亚洲国产| 久久精品18| 久久香蕉国产线看观看99| 亚洲av伊人久久综合密臀性色| Xx性欧美肥妇精品久久久久久| 久久综合香蕉国产蜜臀AV| 思思久久好好热精品国产| 久久久久国产精品三级网| 久久久中文字幕| 精品久久久久久久无码| 精品国产乱码久久久久久呢| 午夜福利91久久福利| 久久精品国产精品亚洲下载| 亚洲国产成人久久精品影视 | 久久亚洲国产精品123区| 91精品国产综合久久四虎久久无码一级| 久久人妻AV中文字幕| 欧美成人免费观看久久| 日韩中文久久| 久久夜色精品国产亚洲| 伊人久久精品无码av一区| 久久99久国产麻精品66| 亚洲AV无码久久精品狠狠爱浪潮 |