捕获文件未找到错误并继续 运行 python 中的代码

Catch file not found error and continue running the code in python

我一个文件夹里有一万个文件。文件名按数字排序。我正在尝试移动文件。某些文件已移至新文件夹。我已经编写了移动文件的代码,但由于一些文件已经被移动到一个新文件夹,当数字达到已经移动的文件的数量时,代码停止。我尝试使用 try 并捕获异常,但它不起作用。我希望代码跳过此错误并继续移动文件。

这是我累的

import os, shutil
path = "I:\"
moveto = "I:\"
i = 1
j = 1
try:
    while True:
        f = "{0}.{1}".format(i,j)
        filesrc = f + ".jpg"
        src = path+filesrc
        dst = moveto+filesrc
        shutil.move(src,dst)
        j += 1
        if j > 6:
            i += 1
            j = 1
        if i > 1500:
            break
except for OSError as e:
    pass
 

您需要在循环中使用 try-catch 块,其中操作可能会失败。

import os, shutil
path = "I:\"
moveto = "I:\"
i = 1
j = 1
while True:
    f = "{0}.{1}".format(i,j)
    filesrc = f + ".jpg"
    src = path+filesrc
    dst = moveto+filesrc
    try:
        shutil.move(src,dst)
    except for OSError as e:
        pass
    j += 1
    if j > 6:
        i += 1
        j = 1
    if i > 1500:
        break