Skip to main content
 首页 » 编程设计

python之比在子进程中调用 "ls"更快的获取目录列表的方法

2025年05月04日15zhengyun_ustc

经过搜索和一些测试运行 os.popen()+read() 和 subprocess.check_output() 似乎几乎等同于读取文件夹的内容。有没有办法改进 os.popen()+read() 或 subprocess.check_output() 的组合?我必须 ls 一些文件夹并读取输出,使用上述任何一种方法都类似,但根据分析结果代表主要瓶颈。

请您参考如下方法:

您正在寻找os.listdir和/或 os.walk ,也许还有 os.stat函数族。这些是(Python 绑定(bind)到)ls 使用自身的相同原语,因此您可以通过解析 ls 的输出来做任何事情,您都可以使用这些来做。我建议您仔细阅读 os 中的所有内容, os.path , 和 stat模块报价;可能还有其他事情不需要外部程序来完成。

您可能还应该阅读 stat, the underlying system call 的文档-- 它是面向 C 的,但它会帮助您理解 os.stat 的作用。