循环使用错误处理

时间:2017-05-31 16:43:51

标签: python error-handling

我想查看文件是否已经存在,如果存在,我想创建一个带扩展名和编号的文件。我尝试使用错误处理来完成此操作,但我必须将代码写出50次。

以下是代码:

for x in range(50):
po = 1
try:
    os.makedirs(acct)
except OSError, e:
    try:
        os.makedirs(acct + "-"+str(po))
        po +=1
    except OSError, e:
        print "Something is broken! Line 14-15"

如果acct =“me”且文件“me”和“me-1”存在,运行该程序只会打印一行次。

感谢您的帮助!

编辑: 我将代码更改为

for po in range(0,5):
try:
    os.makedirs(acct)
except OSError, e:
    try:
        os.makedirs(acct + "-"+str(po))
        break
    except OSError, E:
        print "A weird error popped up. Terminating."
        break

出于某种原因,这会在运行时创建2个文件夹。

2 个答案:

答案 0 :(得分:0)

只要删除休息就可以了!

for po in range(0,5):
    try:
        os.makedirs(acct)
    except OSError:
        try:
            os.makedirs(acct + "-"+str(po))
        except OSError:
            print ("A weird error popped up. Terminating.")
            break

答案 1 :(得分:0)

想出来:

顶部的循环创建了尽可能多的循环。您必须指定尝试解决错误的次数。