哪个命令更好:操作系统列表目录()或操作系统为什么?

2024-04-18 17:42:52 发布

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

在当前工作目录中:

import os
print( os.listdir() )

将列出文件和目录。但是,我也可以使用system命令获得Linux机器当前工作目录中的文件和目录的列表:

^{pr2}$

哪个命令更好:os.listdir()还是{},为什么?在


Tags: 文件import命令目录机器列表oslinux
2条回答

我可能在这里挖坟墓,但最近我遇到了类似的用法。在

我试图ls一个/path/to/temp文件。它不起作用,ls命令会卡住并且没有响应,在我关闭它之前超过5分钟。注意,这是通过putty通过SSH实现的,我尝试了ls -l | wc -l,但也没用。在

len(os.listdir("path/to/temp"))立即返回一个数字,它在75000左右,这个列表几乎是立即构造的。因此,如果在目录上使用os.listdir()vs ls,有一个明显的速度优势。在

os.listdir()是在python中本机实现的,它可以在任何编译python的操作系统上工作。在

调用os.system('ls')依赖于底层操作系统有一个ls命令,这是一个不确定的假设(例如,windows怎么办?),并要求此可执行文件位于$PATH中。从性能的角度来看,您将执行另一个完全冗余的进程。如果你想做任何比打印结果更华丽的事情,你就得自己去解析输出。在

长话短说,不要重蹈覆辙。如果python提供了一个内置的os.listdir(),那么就使用它。在

相关问题 更多 >