【发布时间】:2011-04-15 11:01:31
【问题描述】:
我正在编写一个函数来遍历用户的文件系统并创建一个表示该目录的树(该树实际上是 Tkinter 中的 TreeView 小部件,但从功能上讲,它是一棵树)。
我能想到的最好的方法是递归。但是,我在函数中的一个案例要求我知道它是否是“原始”函数调用,在这种情况下文件没有父节点,或者它是否是“递归”函数调用,即调用由函数本身生成,这样我就可以给这些文件一个合适的父节点。
在 Python 中有什么方法可以询问一个函数,“嘿,你是递归的吗?”或者“嘿,你是从哪里打来的?”
【问题讨论】:
-
是的。如果您使用递归,那么您正在使用递归。
-
这与你的问题无关,只是一个想法,你试过os.walk吗?它是一个遍历目录并返回一个包含当前目录、所有目录名和所有文件名的三元组的生成器。只是一个建议。但否则请按照吉姆的回答。
-
所有文件都有一个父节点。 “/”是所有的父级。
-
我试过 os.walk,但它让我的生活变得非常复杂。它不太适合填充树。
标签: python recursion functional-programming tree traversal