mut*_*ard 6 directory bash python-3.x pyqt5
我正在做一个 PyQT5 应用程序,需要选择给定的文件夹,并列出其中的所有文件和目录。
为了获取路径,我使用简单的方法,如下所示:
def open_path():
dialog = QFileDialog()
folder_path = dialog.getExistingDirectory(None, "Select Folder")
return folder_path
Run Code Online (Sandbox Code Playgroud)
编辑
这就是我获取根、目录和文件的方式
import os
# this is where I have my open_path() method defined, so I don't write it again
path = str(open_path())
roots = next(os.walkpath(path))[0]
dirs = next(os.walkpath(path))[1]
files = next(os.walkpath(path))[2]
Run Code Online (Sandbox Code Playgroud)
我有一个包含大约 11000 个文件的文件夹。我使用 QFileDialog 来获取文件夹,并将其拆分为 3 个列表(根、目录、文件),然后使用 QDir 来显示它。
由于其大小,我想限制 QDir 仅显示前 1000 个文件,在达到 1000 个后可以加载更多文件。
这可以做到吗?如何做到?
我找不到任何有关如何实现这种过滤器的文档或示例。
我在网络上到处搜索此信息,但只找到了这个解决方案 - >如何从目录中读取前 n 个文件(请不是“head -n 解决方案”)? 其中涉及bash脚本?
如果可能的话,我想避免使用 Popen 和 PIPE。
欢迎任何帮助或提示。
谢谢。
parent_list = os.listdir("Here goes the path for directory")
count =0
for child in parent_list:
if count < 1000:
print(child)
else
break
count = count+1
Run Code Online (Sandbox Code Playgroud)
这里parent_list包含给定目录中的所有文件,您可以使用循环访问列表中的前1000个文件。child 是目录中的文件