老师 glob里面的正则表达式的符号都有什么意思?
来源:2-8 查找指定的文件
杜_efoOS8
2025-04-04 23:48:16
老师一开始的控制器输入
result = glob (target +"/*") result result = glob (target +"/*"+"/*") result
这里的+号我知道是重复1次和多次,但是为什么要在控制器里面用+号
这里的/符号为知道是获取的文件夹里面的具体内容,也意味着开启了下一级
这里的*符号为知道是重复0次和多次,也意味着全部
后面的代码运行
我看老师的递归函数当中,用的是 ,“*”
我知道在glob当中,用逗号+星号,代表着是此路径下的全部,我在程序当中用 ,"/*"替代过
但是在控制器里面,为什么不能用 逗号,感觉好迷糊,有详细的解释吗?老师
1回答
好帮手慕小猿
2025-04-07
同学,你好!+ 是字符串连接操作符,用于将 target 路径和 /* 连接起来。
"/*" 是一个通配符模式,* 代表任意字符序列(包括空字符序列)。target+"/*"是将target路径下的所有文件或目录匹配出来,如target路径是“C:\\Users\\xxx\\Desktop\\源码\\filetest" ,是将filetest下的所有文件或目录都匹配出来
2、Ipython也是可以使用glob的,但是与py文件的写法不同,需要import glob ,在glob.glob()中写个路径,如下图
IPython 中报错的原因:
(1)、严格的命名空间检查:IPython 对命名空间的检查较为严格,它不会自动进行模糊的命名空间解析或对象遮蔽。当执行import glob时,它明确导入的是标准库中的glob模块,而这个模块没有os.path属性,所以会抛出错误。
(2)、不存在自定义模块或对象遮蔽:IPython 通常在一个相对独立的环境中运行,不会像在某些自定义的 Python 项目中那样,可能存在与标准库同名的自定义模块或对象。因此,import glob导入的就是标准的glob模块,不存在遮蔽导致的错误解析。
祝学习愉快~
相似问题