python glob.glob的时候忽略隐藏文件
时间: 2023-12-23 15:27:36 浏览: 50
在使用`glob.glob`函数时,可以通过在路径中添加通配符来匹配文件。如果想要忽略隐藏文件,可以使用`glob.glob`函数的`**`通配符来递归地匹配文件,并在匹配时排除以`.`开头的文件或文件夹。
下面是一个示例代码:
```python
import glob
file_path = 'C:/Users'
pattern = file_path + '/**/*'
files = [f for f in glob.glob(pattern, recursive=True) if not f.startswith('.')]
print(files)
```
在上述代码中,`file_path`是要搜索的文件夹路径,`pattern`是用于匹配文件的通配符模式。通过`glob.glob`函数和`recursive=True`参数,可以递归地匹配文件夹下的所有文件。然后使用列表推导式过滤掉以`.`开头的文件或文件夹,即忽略隐藏文件。
运行上述代码后,将会输出符合条件的文件路径列表,其中忽略了隐藏文件。
相关问题
python glob.glob
`glob.glob` 是 Python 中用于获取符合指定模式的文件路径列表的函数。它是 `glob` 模块中的一个函数。
使用方法如下:
```python
import glob
file_paths = glob.glob(pattern)
```
其中 `pattern` 为一个字符串,表示要匹配的文件路径模式。模式可以包含通配符 `*` 和 `?`,用于匹配文件名中的任意字符或单个字符。例如,`*.txt` 表示匹配所有以 `.txt` 结尾的文件。
`glob.glob` 函数返回一个列表,包含所有符合模式的文件路径。这些文件路径是根据当前工作目录进行匹配的。如果需要基于指定目录进行匹配,可以在 `pattern` 中使用相对路径或绝对路径。
示例:
```python
import glob
# 匹配当前目录下所有以 .txt 结尾的文件
file_paths = glob.glob("*.txt")
# 匹配指定目录下所有的 Python 文件
file_paths = glob.glob("/path/to/directory/*.py")
```
需要注意的是,`glob.glob` 返回的是符合模式的文件路径列表,而不是文件本身。如果需要对这些文件进行操作,可以使用其他相关的函数和模块来处理。
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)
```
这将会输出所有符合条件的文件路径名。