如果"try“块中的代码失败,这是一种Pythonic式的方法来纠正"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")
一个比另一个更受欢迎吗?
发布于 2019-03-25 02:48:20
使用异常实际上是一种pythonic式的方式,有一种叫做EAFP的原则,它代表“请求宽恕比请求许可更容易”。你可以阅读更多关于它的here
第二个代码片段看起来比第一个更好,因为仍然有机会生成相同的数字。
https://stackoverflow.com/questions/55327108
复制相似问题