在PySide中,当我使用QDirIterator
时,如何按名称过滤文件?
在文档中,它讨论了参数nameFilters
:
https://srinikom.github.io/pyside-docs/PySide/QtCore/QDirIterator.html
但是当我尝试它时,它不会按扩展名过滤文件:
from PySide import QtCore
it = QtCore.QDirIterator('.', nameFilters=['*.py'])
while it.hasNext():
print it.next()
>> ./.
>> ./..
>> my_script.py
>> another_file.txt
通过此代码,我希望仅获取扩展名为
.py
的文件。 最佳答案
nameFilters
参数不是关键字参数。
不幸的是,如果您传递不存在的关键字参数,PySide绝不会引发错误,这是一个非常糟糕的设计。给定无效输入时,API绝不应静默失败。
无论如何,如果使用位置参数,您的代码将正确运行:
it = QtCore.QDirIterator('.', ['*.py'])