Python Glob without the whole path - only the filename

前端 未结 7 1987
死守一世寂寞
死守一世寂寞 2020-12-23 10:47

Is there a way I can use glob on a directory, to get files with a specific extension, but only the filename itself, not the whole path?

7条回答
  •  Happy的楠姐
    2020-12-23 11:35

    I keep rewriting the solution for relative globbing (esp. when I need to add items to a zipfile) - this is what it usually ends up looking like.

    # Function
    def rel_glob(pattern, rel):
        """glob.glob but with relative path
        """
        for v in glob.glob(os.path.join(rel, pattern)):
            yield v[len(rel):].lstrip("/")
    
    # Use
    # For example, when you have files like: 'dir1/dir2/*.py'
    for p in rel_glob("dir2/*.py", "dir1"):
        # do work
        pass
    

提交回复
热议问题