Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python os.walk()与os.scandir()的比较_Python_Os.walk - Fatal编程技术网

Python os.walk()与os.scandir()的比较

Python os.walk()与os.scandir()的比较,python,os.walk,Python,Os.walk,声称是一个比os.walk()更好更快的目录迭代器。它成为Python3标准数据库的一部分。在生产环境中工作时,在从 OS.WOK()>强>到 OS.SCAN()> >P > > P>我曾经在Python 2.7中使用过.SCADRIDER()。由于奇怪的unicode字符,它不断崩溃。(ù)ỳ ǹ等)。切换回os.walk(),一切正常。如果有问题,我建议你测试一下 显然,它确实更快,尤其是在Windows上。我对Python不是很熟悉,但最近我不得不编写一些Python 2.x脚本,使用os

声称是一个比os.walk()更好更快的目录迭代器。它成为Python3标准数据库的一部分。在生产环境中工作时,在从<强> OS.WOK()>强>到<强> OS.SCAN()> <强>>P > > P>我曾经在Python 2.7中使用过.SCADRIDER()。由于奇怪的unicode字符,它不断崩溃。(
ù)ỳ ǹ
等)。切换回os.walk(),一切正常。如果有问题,我建议你测试一下


显然,它确实更快,尤其是在Windows上。

我对Python不是很熟悉,但最近我不得不编写一些Python 2.x脚本,使用os.walk()枚举大量文件。最后,我在C#上编写了虚拟文件枚举。 代码:

运行虚拟枚举,python会更快:)
注意:这仅在.NET 4.0及以上版本中可用

您只需安装3.5并使用
walk
,如果我没有记错,它将使用
scandir
算法。但是当您使用任何2个版本(2.7)并想要使用os.scandir时,该怎么办?
string dirPath = @"d:\";
DirectoryInfo di = new DirectoryInfo (dirPath)
var fi = di.EnumerateFiles ("*", SearchOption.AllDirectories);