Python 相当于 Perl 的 "opendir"



我本质上正在寻找的是一种在 python 中返回目录句柄的方法,有点像 perl 可以做这样的事情......

opendir CWD .

参见:http://perldoc.perl.org/5.8.9/functions/opendir.html

然后,CWD 可以用作指向目录的句柄,就像文件操作中的*CWD一样。

我在 python 中遇到的最接近的是 open((,但它不返回文件描述符/指针,并且不适用于目录。

scandir函数打开一个句柄,并允许您以迭代方式遍历每个文件。 这很有用,原因与opendir相同:当可能有大量文件时,效率要高得多:

https://docs.python.org/3/library/os.html#os.scandir

opendir的另一个用途是能够保留对索引节点的引用,而不是路径。

scandir 返回的生成器可以像 CWD 一样传递,并且它将保留 CWD 的"类似 inode"的功能。 例如,您可以获取用于scandir的生成器,然后重命名基础文件夹,并且生成器仍然有效。

但是,它不能"重置"到开头。 AFAICT 这是 perl 唯一能做到的 python 做不到的事情。

相关内容

  • 没有找到相关文章

最新更新