windows - A pythonic way of finding folder -


what's pythonic way of finding child folder supplied path?

import os  def get_folder(f, h):   pathlist = f.split(os.sep)   sourcelist = h.split(os.sep)    src = set(sourcelist)   folderlist = [x x in pathlist if x not in src]    return folderlist[0]   print get_folder("c:\\temp\\folder1\\folder2\\file.txt", "c:\\temp") # "folder1" correct print get_folder("c:\\temp\\folder1\\file.txt", "c:\\temp") # "folder1" correct print get_folder("c:\\temp\\file.txt", "c:\\temp") # "file.txt" fail should "temp" 

in example above have file.txt in "folder 2". path "c:\temp" supplied start point from.

i want return child folder it; in event file in question in source folder should return source folder.

try this. wasn't sure why said folder1 correct first example, isn't folder2? on mac os.sep didn't work me can adapt this.

import os  def get_folder(f, h):     pathlist = f.split("\\")      previous = none      index, obj in enumerate(pathlist):         if obj == h:             if index > 0:                 previous = pathlist[index - 1]      return previous   print get_folder("c:\\temp\\folder1\\folder2\\file.txt", "file.txt") # "folder2" correct print get_folder("c:\\temp\\folder1\\file.txt", "file.txt") # "folder1" correct print get_folder("c:\\temp\\file.txt", "file.txt") # "file.txt" fail should "temp" 

Comments