1、导入所需模块
from pathlib2 import Path import glob2 as gb
2、当前所在路径
# D:\02周报 p = Path.cwd()
![]()
3、比较Path模块中的glob(*)、glob(**)、rglob(*)、rglob(**)
# from pathlib2 import Path # D:\02周报 # p = Path.cwd() type(p.glob(r"*")) print("Path模块下的 glob(*):") # 返回:当前目录中的所有文件和文件夹 for i in p.glob(r"*"): i print(f"\nPath模块下的 glob(**):") # 返回:当前目录,及其下所有子目录中的 所有文件夹 for i in p.glob(r"**"): i print("-"*80) print(f"\nPath模块下的 rglob(*):") # 返回:当前目录,及所有子目录中的 所有文件和文件夹 for i in p.rglob("*"): i print(f"\nPath模块下的 rglob(**):") # 返回:当前目录,及其下所有子目录中的 所有文件夹 # 相当于 glob(**) for i in p.rglob("**"): i
4、比较glob模块中的glob(*)、glob(**)、iglob(*)、iglob(**)
# import glob2 as gb # 1、gb.glob("*") 与 gb.iglob("*") print("glob模块下的 glob(*):") gb.glob("*") # 返回:当前目录下的所有文件、文件夹;列表 print("\nglob模块下的 iglob(*):") gb.iglob("*") # 返回:当前目录下的所有文件、文件夹;map for i in gb.iglob("*"): i print("-"*80) # 2、gb.glob("**") 与 gb.iglob("**") print("\nglob模块下的 glob(**):") gb.glob("**") # 返回:当前目录、及子目录下的所有文件、文件夹;列表 print("\nglob模块下的 iglob(**):") print(f'gb.iglob("**")的返回值类型:{type(gb.iglob("**"))}') gb.iglob("**") # 返回:当前目录、及子目录下的所有文件、文件夹;map cnt = 0 for i in gb.iglob("**"): cnt += 1 i print(f'gb.glob("**") 的结果长度:{len(gb.glob("**"))}') print(f'gb.iglob("**") 的结果长度:{cnt}')
![]()
总结:
1、Path模块,返回的是 generator
glob模块,返回的是 文件/文件夹名
2、1) glob.glob(*) = glob.iglob(*):返回当前目录下的文件和文件夹
2) glob.glob(**) = glob.iglob(**):返回当前目录、及子目录下的文件和文件夹
3) Path.glob(**) = Path.rglob(**) :返回当前目录、及子目录下的文件夹
4) Path.glob(*):返回当前目录下的文件和文件夹
5) Path.rglob(*):返回当前目录、及子目录下的文件和文件夹