QFileDialog获取所有文件包含子目录下的
时间: 2024-02-15 21:38:11 浏览: 140
获得/读取一个目录下所有文件(包括子目录下)
4星 · 用户满意度95%
要获取目录及其子目录下的所有文件,可以使用QDir类的遍历方法,例如:
```python
from PyQt5.QtWidgets import QFileDialog
from PyQt5.QtCore import QDir
path = QFileDialog.getExistingDirectory(None, "选择文件夹", "/")
if path:
# 获取目录及其子目录下的所有文件
files = []
for file_name in QDir(path).entryList(['*'], QDir.Files | QDir.NoSymLinks):
files.append(path + '/' + file_name)
for dir_name in QDir(path).entryList(QDir.AllDirs | QDir.NoDotAndDotDot):
files += [os.path.join(dp, f) for dp, dn, filenames in os.walk(os.path.expanduser(dir_name)) for f in filenames]
print(files)
```
这里用到了os模块的walk方法来遍历子目录下的文件,并将其添加到结果列表中。
阅读全文