Python Forum
why i don't like os.walk()
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
why i don't like os.walk()
#2
Use pathlib

If you want all directory entries, including symbolic links, etc remove the conditional for dirs
and eliminate the file search but then you will have to look at individual entries to get type.

from pathlib import Path

def plib_walk(dir):
    dirs = [x for x in dir.iterdir() if x.is_dir()]
    files = [x for x in dir.iterdir() if x.is_file()]

    print (f'\nDirectory: {dir.resolve()}')
    for file in files:
        print(f'    file: {file}')

    for pdir  in dirs:
        plib_walk(pdir)

def tryit():
    home = Path('.')
    # Start a level higher to make it interesting
    start = home / '..'
    print(f'starting with: {start.resolve()}')
    plib_walk(start)

if __name__ == '__main__':
    tryit()
If you want to open files to search within, use:
with file.open() as f:
   read(f)
Reply


Messages In This Thread
why i don't like os.walk() - by Skaperen - Jan-09-2018, 05:50 AM
RE: why i don't like os.walk() - by Larz60+ - Jan-09-2018, 06:35 AM
RE: why i don't like os.walk() - by Gribouillis - Jan-09-2018, 07:44 AM
RE: why i don't like os.walk() - by Skaperen - Jan-09-2018, 08:39 AM
RE: why i don't like os.walk() - by Gribouillis - Jan-09-2018, 08:48 AM
RE: why i don't like os.walk() - by DeaD_EyE - Jan-09-2018, 08:53 AM
RE: why i don't like os.walk() - by wavic - Jan-09-2018, 05:09 PM
RE: why i don't like os.walk() - by Gribouillis - Jan-09-2018, 05:18 PM
RE: why i don't like os.walk() - by Skaperen - Jan-10-2018, 03:26 AM
RE: why i don't like os.walk() - by Skaperen - Jan-10-2018, 04:44 AM
RE: why i don't like os.walk() - by Larz60+ - Jan-10-2018, 05:03 AM
RE: why i don't like os.walk() - by Gribouillis - Jan-10-2018, 05:12 AM
RE: why i don't like os.walk() - by Skaperen - Jan-10-2018, 05:54 AM
RE: why i don't like os.walk() - by Skaperen - Jan-10-2018, 07:01 AM
RE: why i don't like os.walk() - by Gribouillis - Jan-10-2018, 10:45 PM
RE: why i don't like os.walk() - by snippsat - Jan-10-2018, 11:59 PM
RE: why i don't like os.walk() - by Skaperen - Jan-11-2018, 01:37 AM
RE: why i don't like os.walk() - by Larz60+ - Jan-11-2018, 02:23 AM
RE: why i don't like os.walk() - by Skaperen - Jan-11-2018, 06:00 AM
RE: why i don't like os.walk() - by Gribouillis - Jan-11-2018, 07:07 AM
RE: why i don't like os.walk() - by Skaperen - Jan-11-2018, 08:39 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  examples using os.walk() Skaperen 12 7,302 Mar-22-2021, 05:56 PM
Last Post: Skaperen

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020