而循环索引错误

时间:2016-11-12 14:07:39

标签: python indexing while-loop

我希望Python不断扫描文件夹,并在文件夹中创建新文件后立即启动其余代码。

但是我被困在这里:

import os

os.chdir("path")
a = os.listdir("path")
initial = len(a)


while True:
        b = os.listdir("path")
        final = len(b)
        if final > initial:
                c = list(set(b) - set(a))
                a.append(c[0])

c [0]附加到列表a但是代码然后崩溃并出现此错误

a.append(c[0]) IndexError: list index out of range

2 个答案:

答案 0 :(得分:0)

这是因为c为空。因此,最简单的方法是:

import os

os.chdir("path")
a = os.listdir("path")
initial = len(a)

while True:
    b = os.listdir("path")
    final = len(b)
    if final > initial:
        c = list(set(b) - set(a))
        if c:
            a.append(c[0])

没有while True声明的break并不是一个好主意......

答案 1 :(得分:0)

const app = new Vue({ stuff })

几点  1.好主意在while循环中添加几秒钟的睡眠时间。  2.如果删除文件并添加新文件(可能不是有效方案),会发生什么?