glob.iglob
时间: 2023-08-25 20:09:48 浏览: 157
glob.iglob() 是 Python 内置的用于匹配文件路径的函数之一。与 glob.glob() 不同的是,它返回一个生成器,可以逐个返回符合条件的文件路径名。
glob.iglob(pattern, recursive=False)
其中,pattern 是用于匹配的模式字符串,支持通配符 "*" 和 "?";recursive 是一个布尔值,表示是否递归查找子目录,默认为 False。
示例:
```python
import glob
# 查找当前目录下所有以 .txt 结尾的文件
for file_path in glob.iglob("*.txt"):
print(file_path)
# 查找当前目录下所有子目录中以 .py 结尾的文件
for file_path in glob.iglob("**/*.py", recursive=True):
print(file_path)
```
注意:在 Windows 平台下,路径分隔符为反斜杠 "\",需要使用双反斜杠 "\\ " 或者原始字符串 r"\" 来表示。在 Linux 或 Mac 平台下,路径分隔符为正斜杠 "/",不需要特殊处理。
相关问题
`glob.glob`和`glob.iglob`有什么区别?
`glob.glob`和`glob.iglob`都是Python标准库中的模块`glob`中的函数,用于查找符合特定规则的文件路径名。它们的区别在于返回结果的类型和使用方式。
`glob.glob`返回一个列表,其中包含所有符合规则的文件路径名。而`glob.iglob`返回一个迭代器,可以逐个地获取符合规则的文件路径名,这样可以节省内存空间。
下面是两个函数的使用实例:
```python
import glob
# 使用glob.glob函数
files = glob.glob('/path/to/dir/*.txt')
print(files) # 输出符合规则的所有文件路径名
# 使用glob.iglob函数
files_iter = glob.iglob('/path/to/dir/*.txt')
for file in files_iter:
print(file) # 逐个输出符合规则的文件路径名
```
python glob.iglob
`glob.iglob`是Python中用于匹配文件路径名的一个函数。它可以接受一个模式字符串参数,返回一个迭代器,用于枚举符合该模式的所有文件路径名。
与`glob.glob`不同的是,`glob.iglob`返回一个迭代器,而不是一个列表。这意味着它可以处理大量的文件路径名,而不会一次性将它们全部加载到内存中。
例如,如果你想枚举一个目录下所有以`.txt`结尾的文件,你可以这样写:
```python
import glob
for file_path in glob.iglob('/path/to/directory/*.txt'):
print(file_path)
```
这将会输出所有符合条件的文件路径名。
阅读全文