添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

How to traverse file system in Python ? Suppose we have given below file structure in our system and we want to traverse all it’s branches completely from top to bottom ? Example file system

How does os.walk() work in python ?

OS.walk() 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).

  • root : Prints out directories only from what you specified.
  • dirs : Prints out sub-directories from root.
  • files : Prints out all files from root and directories.
  • [GFGTABS]
    Python3

    # Driver function
    import os
    if __name__ == "__main__":
        for (root,dirs,files) in os.walk('.', topdown=True):
            print (root)
            print (dirs)
            print (files)
            print ('--------------------------------')
    [/GFGTABS]

    Output:

    ['gfg-article-deep-crawl-master (1)', '.ipynb_checkpoints']
    ['t.pdf', 'Untitled.ipynb']
    --------------------------------
    ./gfg-article-deep-crawl-master (1)
    ['gfg-article-deep-crawl-master']
    []
    --------------------------------
    ./gfg-article-deep-crawl-master (1)/gfg-article-deep-crawl-master
    ['check_rank']
    ['rank_scraper.py', 'search-page (copy).html', '.gitignore', 'search-page.html', 'globals.py', 'requirements.txt', 'sel_scraper.py', 'README.md']
    --------------------------------
    ./gfg-article-deep-crawl-master (1)/gfg-article-deep-crawl-master/check_rank
    []
    ['selenium.py', 'tools.py', '__init__.py', 'run_check.py']
    --------------------------------
    ./.ipynb_checkpoints
    []
    ['Untitled-checkpoint.ipynb']
    --------------------------------

    Nested List comprehension With Os.Walk

    Program to find the python files in the directory tree that means we need to find the files that ends with .py extension.

    [GFGTABS]
    Python

    # code
    import os
    if __name__ == "__main__": 
      pythonFiles = [file for dirs in os.walk('.', topdown=True)
                         for file in dirs[2] if file.endswith(".py")]
      print('python files in the directory tree are ')
      for r in pythonFiles:
        print(r)
    [/GFGTABS]

    We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy Got It !