Python:如何在添加新文件的同时遍历目录中的文件,直到达到一定数量?

Python: how to iterate over files in a directory while adding new files until certain number is reached?

提问人:Valuex 提问时间:5/3/2020 更新时间:5/3/2020 访问量:258

问:

如何在 Python 中执行以下操作?

for file in os.listdir(directory):
    do sth
    output file to the folder
    if filenumber in the folder >=100:
        break

我认为第一行可以找到新创建的文件。
相反,它只是遍历 sript 启动时存在的文件。
有什么想法让它起作用吗?谢谢。
for file in folder

评论


答:

0赞 tdelaney 5/3/2020 #1

os.listdir在调用给定目录时,为您提供给定目录中的文件和子目录列表。看不到您对目录所做的任何更改。您可以继续重新读取目录

while True:
    files = os.listdir(directory)
    if len(files) >= 100: 
        break
    new_file = do_a_thing()
    open(new_file).write("foo")

或者一开始就做一次数学运算

files = os.listdir(directory)
delta = 100 - len(files)
if delta > 0:
    for file in files[:delta]:
         ...