您的位置:首页 > 科技 > 能源 > 开发区招聘网最新招聘_济南建设工程交易信息网_上海优化网站公司哪家好_互联网营销师考试内容

开发区招聘网最新招聘_济南建设工程交易信息网_上海优化网站公司哪家好_互联网营销师考试内容

2025/9/15 21:45:25 来源:https://blog.csdn.net/jacke121/article/details/145739028  浏览:    关键词:开发区招聘网最新招聘_济南建设工程交易信息网_上海优化网站公司哪家好_互联网营销师考试内容
开发区招聘网最新招聘_济南建设工程交易信息网_上海优化网站公司哪家好_互联网营销师考试内容

目录

处理大量文件节省内存

匹配多个文件扩展名

遍历多种格式文件

遍历某一个文件:

查找当前目录和子目录

6. 排除特定文件

7. 大小写不敏感匹配

8. 获取绝对路径

9. 处理特殊字符


处理大量文件节省内存


技巧:用 iglob 替代 glob,逐项生成路径,节省内存。

for file in glob.iglob("**/*.csv", recursive=True):process(file)  # 逐项处理大文件列表

匹配多个文件扩展名

技巧:使用 {} 匹配多个模式,或用列表推导式合并结果。

# 方法1:使用 {} 匹配多个扩展名
files = glob.glob("*.{jpg,png}", recursive=True)# 方法2:合并多个 glob 结果
files = [f for ext in ["*.jpg", "*.png"] for f in glob.glob(ext)]

遍历多种格式文件

import glob
import osimport time
if __name__ == '__main__':base_dir='F:\project\lx_code\dance\pic_mp4\images_for_recon\img_1x1'imgs=glob.glob(os.path.join(base_dir,'*.png'))+glob.glob(os.path.join(base_dir,'*.jpg'))+glob.glob(os.path.join(base_dir,'*.jpeg'))

遍历某一个文件:

from glob import globfor video_path in glob("/shared_disk/users/lbg/project/inpaint/see3d/mp4s/person_big_0108.mp4"):

查找当前目录和子目录

# 查找当前目录及其子目录下所有的 .py 文件
py_files_recursive = glob.glob('**/*.py', recursive=True)
for file in py_files_recursive:print(file)

6. 排除特定文件

技巧:用列表推导式过滤不需要的文件。

all_files = glob.glob("*.txt")
filtered = [f for f in all_files if "temp" not in f]

7. 大小写不敏感匹配

技巧:自定义函数将模式和路径转为小写(适用于非大小写敏感系统)。

def case_insensitive_glob(pattern):return glob.glob(pattern, recursive=recursive)files = case_insensitive_glob("*.JPG")  # 匹配 .jpg 和 .JPG

8. 获取绝对路径

技巧:结合 os.path.abspath 或直接匹配绝对路径。

import os# 将相对路径转为绝对路径
abs_files = [os.path.abspath(f) for f in glob.glob("*.py")]# 直接匹配绝对路径
abs_files = glob.glob("/home/user/docs/*.pdf")

9. 处理特殊字符

技巧:用 glob.escape 转义路径中的特殊字符(如 *?)。

escaped_path = glob.escape("file[1].txt")
files = glob.glob(f"{escaped_path}")  # 精确匹配 file[1].txt

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com