Python中返回顶层目录的路径:两种解决方案的比较

2024-10-03 19:20:24 发布

您现在位置:Python中文网/ 问答频道 /正文

在对如何只在python中返回顶级文件夹的路径进行了一些搜索之后,我发现了两种完全不同的方法,它们似乎返回相同的结果:

def listTopDirs(folder):
    return [name for name in (os.path.join(folder, each) for each in os.listdir(folder)) if os.path.isdir(name)]

对比

^{pr2}$

当我在我的机器上进行测试时,它们返回的结果数与我相同。在

会不会被认为更像Python?使用一种方法比另一种方法有什么算法上的优势吗?在


Tags: path方法namein路径文件夹forreturn
1条回答
网友
1楼 · 发布于 2024-10-03 19:20:24

尽管第二个片段在我看来更像Python,但快速测试证明第一个片段更快。我把结果贴在下面。在


def listTopDirs(folder):
    return [name for name in (os.path.join(folder, each) for each in os.listdir(folder)) if os.path.isdir(name)]

$ python -m timeit 'import os;r = [name for name in (os.path.join(".", each) for each in os.listdir(".")) if os.path.isdir(name)]'
100 loops, best of 3: 2.59 msec per loop
100 loops, best of 3: 2.60 msec per loop

^{pr2}$

相关问题 更多 >