遍历目标路径下含有字符的文件夹
时间: 2023-08-04 10:32:34 浏览: 51
好的,您可以使用以下 Python 代码实现:
```python
import os
def find_folders_with_string(root_path, target_string):
"""
遍历目标路径下含有指定字符的文件夹
:param root_path: 目标路径
:param target_string: 目标字符
"""
for foldername, subfolders, filenames in os.walk(root_path):
if target_string in foldername:
print(foldername)
```
您只需要将 `root_path` 替换为您要遍历的目标路径,将 `target_string` 替换为您要查找的目标字符即可。
例如,要查找目标路径 `/Users/username/Desktop/documents` 下所有包含字符 `test` 的文件夹,您可以这样调用函数:
```python
find_folders_with_string('/Users/username/Desktop/documents', 'test')
```
函数会遍历目标路径下的所有文件夹,并输出所有包含字符 `test` 的文件夹路径。
相关问题
python遍历出指定路径下的文件夹名称,并只获取以数字结尾的文件夹名称
可以使用os模块和正则表达式来实现这个功能,具体代码如下:
```python
import os
import re
path = "指定路径" # 将指定路径替换成你要遍历的路径
folders = os.listdir(path) # 获取指定路径下的所有文件夹名称
pattern = re.compile(r"\d+$") # 正则表达式匹配以数字结尾的字符串
for folder in folders:
if pattern.match(folder):
# 如果文件夹名称以数字结尾,则输出文件夹名称
print(folder)
```
解释一下代码:
首先导入了os和re模块,分别用于操作文件和进行正则匹配。
然后使用os.listdir()函数获取指定路径下的所有文件夹名称,将其保存在变量folders中。
接着使用正则表达式匹配以数字结尾的字符串,这里使用了\d表示数字,$表示以该字符结尾。
最后使用for循环遍历folders列表,如果文件夹名称以数字结尾,则输出该文件夹名称。
QT遍历获取文件夹下所有文件路径
您可以使用 QDir 类实现遍历获取文件夹下的所有文件路径,具体代码如下:
```cpp
#include <QDir>
//获取指定目录下的所有文件路径
void getAllFilePaths(const QString& dirPath, QStringList& filePaths)
{
QDir dir(dirPath);
if(!dir.exists()) return;
dir.setFilter(QDir::Files | QDir::NoSymLinks);
dir.setSorting(QDir::Name | QDir::IgnoreCase);
QFileInfoList fileInfoList = dir.entryInfoList();
foreach(QFileInfo fileInfo, fileInfoList)
{
filePaths.append(fileInfo.filePath());
}
dir.setFilter(QDir::Dirs | QDir::NoSymLinks);
fileInfoList = dir.entryInfoList();
foreach(QFileInfo fileInfo, fileInfoList)
{
if(fileInfo.fileName() == "." || fileInfo.fileName() == "..") continue;
getAllFilePaths(fileInfo.filePath(), filePaths);
}
}
//使用方法
QStringList filePaths;
getAllFilePaths("your/path", filePaths);
foreach(QString filePath, filePaths)
{
//处理文件路径
}
```
其中,`getAllFilePaths`函数可以递归遍历获取指定目录下的所有文件路径,并将它们存储在一个字符串列表中。您只需要将`"your/path"`替换为您需要遍历的文件夹路径即可。