2024-04-18 17:42:52 发布
网友
在当前工作目录中:
import os print( os.listdir() )
将列出文件和目录。但是,我也可以使用system命令获得Linux机器当前工作目录中的文件和目录的列表:
system
哪个命令更好:os.listdir()还是{},为什么?在
os.listdir()
我可能在这里挖坟墓,但最近我遇到了类似的用法。在
我试图ls一个/path/to/temp文件。它不起作用,ls命令会卡住并且没有响应,在我关闭它之前超过5分钟。注意,这是通过putty通过SSH实现的,我尝试了ls -l | wc -l,但也没用。在
ls
/path/to/temp
ls -l | wc -l
len(os.listdir("path/to/temp"))立即返回一个数字,它在75000左右,这个列表几乎是立即构造的。因此,如果在目录上使用os.listdir()vs ls,有一个明显的速度优势。在
len(os.listdir("path/to/temp"))
75000
os.listdir()是在python中本机实现的,它可以在任何编译python的操作系统上工作。在
调用os.system('ls')依赖于底层操作系统有一个ls命令,这是一个不确定的假设(例如,windows怎么办?),并要求此可执行文件位于$PATH中。从性能的角度来看,您将执行另一个完全冗余的进程。如果你想做任何比打印结果更华丽的事情,你就得自己去解析输出。在
os.system('ls')
$PATH
长话短说,不要重蹈覆辙。如果python提供了一个内置的os.listdir(),那么就使用它。在
我可能在这里挖坟墓,但最近我遇到了类似的用法。在
我试图
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()
,那么就使用它。在相关问题 更多 >
编程相关推荐