如何在Python中从目录中读取n个文件?

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。

欢迎任何帮助或提示。

谢谢。

Sar*_*pta 7

  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 是目录中的文件