Python 2.7 在每次迭代中重新检查

Python 2.7 在每次迭代中重新检查,python-2.7,while-loop,Python 2.7,While Loop,我想循环文件,只要还有文件(我在循环中编辑和删除文件,但glob.glob似乎只在循环开始时初始化,而不是在每次迭代中初始化)。我如何实现这一点 谢谢, 罗恩 编辑1 我试过: 现在,问题是我在tarball中添加了多达500个文件,但是如果超过500个呢?我想循环,直到没有bin文件留下…假设它们是文本文件,有一种方法,但我不确定这是否是最好的方法 import os, re filepath = '/path/to/file/directory/' result = [f for f in

我想循环文件,只要还有文件(我在循环中编辑和删除文件,但
glob.glob
似乎只在循环开始时初始化,而不是在每次迭代中初始化)。我如何实现这一点

谢谢, 罗恩

编辑1 我试过:


现在,问题是我在tarball中添加了多达500个文件,但是如果超过500个呢?我想循环,直到没有bin文件留下…

假设它们是文本文件,有一种方法,但我不确定这是否是最好的方法

import os, re
filepath = '/path/to/file/directory/'
result = [f for f in os.listdir(filepath) if re.search(r'[A-Za-z0-9]+\.txt$', f)]
for f in result:
   print f

@GottliebNotschnabel我试着使用
glob.glob()
循环,就这些了?只有一行(分别是一个参数)为了实现你的目标?@GottliebNotschnabel很抱歉我对你的问题的简短回答,我在上面添加了编辑1,请看一下。谢谢!你做错了:D你是想用500个文件块制作tarball,还是想把500个文件放进一个tarball?@JoelCornett我想从文件列表中找到500个文件返回到tarball中。我相信它可以正常工作…这将根据循环之前在结果中索引的文件数进行循环。假设您删除文件,它不会在每次迭代中重新检查。。。
import os, re
filepath = '/path/to/file/directory/'
result = [f for f in os.listdir(filepath) if re.search(r'[A-Za-z0-9]+\.txt$', f)]
for f in result:
   print f