如果“ try”块中的代码失败,这是Python方式纠正“ except”块中的错误吗?
我遇到过两种代码片段:
import os
import random
workdir = str(random.randint(10**11, 10**12-1))
try:
os.mkdir(workdir)
except FileExistsError:
workdir = str(random.randint(10**11, 10**12-1))
os.mkdir(workdir)
print('Created directory ' + workdir)
os.chdir(workdir)
print('Changed to directory ' + os.getcwd())
import os
import random
workdir = str(random.randint(10**11, 10**12-1))
try:
os.mkdir(workdir)
print("Directory " , workdir , " created")
except FileExistsError:
print("Directory " , workdir, " already exists")
一个人优先于另一个人吗?
答案 0 :(得分:1)
使用异常实际上是一种python方式,有一个称为EAFP的原则,它代表“比许可更容易获得宽恕”。您可以详细了解here
第二个代码段看起来比第一个更好,因为仍有机会生成相同的数字。