python学习笔记77:os.scandir学习
(2020-10-27 11:17:40)
标签:
pythonos.scandir(path) |
分类: 计算机 |
os模块有一个和listdir相近的功能scandir(path),也是遍历文件夹下的子文件夹和文件,但不会深入子文件夹的下一层。据说当文件夹下内容非常多,比如上万的时候,这个方法比listdir效率高,Python
官方也推荐我们使用 os.scandir() 来遍历目录。scandir具有以下属性和方法:
name 条目的文件名,相对于
scandir path 参数( 对应于 os.listdir的返回值)
path 输入路径
NAME ( 不一定是绝对路径) --与 os.path.join(scandir_path, entry.name)
is_dir(*, follow_symlinks=True): 类似于
pathlib.Path.is_dir(),但返回值在 DirEntry 对象上是缓存;大多数情况下不需要系统调用;如果
follow_symlinks 是 false,则不要跟随符号链接
is_file(*, follow_symlinks=True): 类似于
pathlib.Path.is_file(),但返回值在 DirEntry 对象上是缓存;大多数情况下不需要系统调用;如果
follow_symlinks 是 false,则不要跟随符号链接。
is_symlink: 类似
pathlib.Path.is_symlink(),但返回值缓存在 DirEntry 对象上;大多数情况下不需要系统调用.
stat(*,follow_symlinks=True)类似
os.stat(),但返回值缓存在 DirEntry 对象上;不需要对 Windows (。除了符号符号外) 进行系统调用;如果
follow_symlinks 是 false,则不跟随符号链接( 像 os.lstat() )。
inode:
返回项的节点数;返回值在 DirEntry 对象上缓存
我也有点晕。
还是通过例子来理解吧。
import os
path="d:\my project\python"
objs=os.scandir(path)
for obj in objs:
保存运行,就可以输出="d:\my
project\python"下面的子文件夹和文件名字了。