我有这个算法可以从我的文件夹结构中生成 MPTT: https ://gist.github.com/unbracketed/946520
在 github 上找到,非常适合我的需要。目前我需要添加跳过树中某些文件夹的功能。例如,我想跳过 /tmp/A/B1/C2 中/下的所有内容。所以我的树不会包含来自 C2 的任何东西(包括 C2)。
我在 python 中并不是那么没用,所以我创建了那个查询(并将额外的列表传递给函数):
def is_subdir(path, directory):
path = os.path.realpath(path)
directory = os.path.realpath(directory)
relative = os.path.relpath(path, directory)
return not relative.startswith(os.pardir + os.sep)
/Now we can add somewhere
for single in ignorelist:
if fsprocess.is_subdir(node,single):
但我的问题是在哪里坚持这个功能?我已经尝试在顶部和 if do return 但退出我的整个应用程序。它反复调用自己,所以我很迷茫。
有什么好的建议吗?我试过在 github 上联系脚本创建者没有所有者。这个算法真的很棒,节省了我很多时间,非常适合我们的项目需求。