一、开篇 os库应该是使用频率最高的一个文件处理库,但是不得不说Python中还有几个其它的文件处理库,像shutil库、glob库、pathlib库,它们可以说是相互补充,有着自己好用的方法。黄同学亲切的将它们合称为Python文件处理库的四大天王。 今天呢,咋们就对这4个库来个深度对比,对比一下好像学习什么都快了。 二、四大...
print(glob.glob("*.py"))# 匹配当前目录下所有.py 文件print(glob.glob("data?.csv"))# 匹配 data1.csv、data2.csv,但不匹配 data10.csvprint(glob.glob("[a-c]*.txt"))# 匹配以 a、b 或 c 开头的.txt 文件 pathlibvsglob 如果你使用的是pathlib,也可以使用Path.glob()方法,它的功能与glob....
from pathlib import Path p = Path('/example_dir') # 使用 glob() 方法结合 '**' 模式查找所有的 .txt 文件 for txt_file in p.glob('**/*.txt'): print(txt_file) # 输出: # /example_dir/file1.txt # /example_dir/file2.txt # /example_dir/subdir1/file3.txt # /example_dir/subdi...
frompathlibimportPath# 创建目录path=Path('new_folder')path.mkdir(exist_ok=True)# 创建多级目录path=Path('a/b/c')path.mkdir(parents=True,exist_ok=True)# 遍历目录foriteminpath.iterdir():print(item.name)# 搜索文件forpy_fileinpath.glob('*.py'):print(py_file) 3. 路径处理 ...
rglob: 递归列出匹配的文件或目录 is_dir: 是否为目录 is_file: 是否为文件 iterdir: 列出路径下的文件和目录 mkdir: 新建目录 open: 打开文件 resolve: 转成绝对路径 rmdir: 删除目录 ... 创建路径 前面用到了pathlib.Path()获取当前路径的方法,也可以显示的传入路径字符串进行路径创建,支持相对路径和绝对路...
glob函数是只遍历目录下的文件,如果要遍历子目录中的文件,使用rglob函数。 forfinpath.rglob("*.txt"):print(f)# D:\temp\pathlib\a\1.txt# D:\temp\pathlib\a\2.txt# D:\temp\pathlib\a\3.txt# D:\temp\pathlib\a\sub_a\sub_1.txt ...
我最喜欢 pathlib 的一个特性是可以使用 /(“除法”)运算符来连接路径: # Operators: etc = Path('/etc') joined = etc /"cron.d"/"anacron" print(f"Exists? -{joined.exists()}") # Exists? - True 重要的是要注意 pathlib 只是替代 os.path...
glob库是用于文件查找的模块,可以通过通配符匹配文件名来查找文件,返回符合条件的文件列表。而pathlib库是用于处理文件路径的模块,可以方便地操作文件路径、文件名等。 glob库返回的是符合条件的文件列表,而pathlib库返回的是一个Path对象,可以进一步对文件路径进行操作。
# -*- coding:utf-8 -*-from pathlib import Pathfilename = r"dist"res = Path(filename)for item in res.rglob("**"):print(item)运行结果 distdist\系统小工具助手dist\系统小工具助手\imagesdist\系统小工具助手\PyQt5dist\系统小工具助手\PyQt5\Qt5dist\系统小工具助手\PyQt5\Qt5\pluginsdist\...
glob(): 返回一个生成器,该生成器按照通配符模式返回所有匹配的文件和目录iterdir(): 返回一个迭代器,该迭代器包含目录中的所有条目rglob(): 返回一个生成器,该生成器按照通配符模式递归返回所有匹配的文件和目录 from pathlib import Pathpath = Path('/usr/bin')# 遍历目录for entry in path.iterdir():...