【发布时间】:2017-02-23 02:06:58
【问题描述】:
我有一个应用程序。一种允许目录路径并使用 os.walk 返回给定目录下的文件路径列表的方法
我想在没有大量文件并存储在队列中的目录中读取某些文件(一些阈值,例如带 20 个文件路径)。在这里我可以检查文件路径及其在数据库中的状态。
下次我在同一个目录调用同一个方法时,它应该通过排除已经返回的文件路径来返回下一组文件路径。
场景: 假设,D:/Sample_folder 有 1000 个文件。
my_dir = "D:/Sample_folder"
def read_files(目录): 文件路径 = []
for root, directories, files in os.walk(directory):
for filename in files:
file_path = os.path.join(root, filename)
file_paths.append(file_path)
return file_paths
read_files(my_dir) == 这将在第一轮给出前 100 个文件 下一回合,它应该提供剩余的 100 个文件 就这样……
对此的任何想法或示例脚本。
【问题讨论】:
-
所以你想要一个列表队列,每个列表有 100 个文件路径?
-
是的,每次我应该通过排除已经返回的路径来获得 100 条不同的路径。没有队列,我需要一个方法应该返回一个路径列表。稍后我会将这些列表项保留在队列中以进行其他计算。
-
您的
my_dir是否有子目录,还是只是一个包含 1000 个文本文件的平面目录? -
也可以有子目录
标签: python queue filepath os.walk