0
從提供的路徑中查找子文件夾的最常用pythonic方法是什麼?查找文件夾的pythonic方式
import os
def get_folder(f, h):
pathList = f.split(os.sep)
sourceList = h.split(os.sep)
src = set(sourceList)
folderList = [x for 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 be "temp"
在上面的例子中,我在「文件夾2」中有一個file.txt文件。提供路徑「C:\ temp」作爲起點。
我想從中返回子文件夾;如果有問題的文件在源文件夾中,它應該返回源文件夾。
你應該使用類似'os.path.walk'通過迭代路徑的每個分支的所有文件行走,看看這個答案http://stackoverflow.com/questions/2860153/how -do-i-get-the-parent-directory-in-python如何在找到文件的情況下獲取父文件夾,否則繼續上去。 –
也使用'os.path.join'而不是手動發送字符串到函數 –