在 "except" 块中执行操作是一种好的编码习惯吗?
Is it a good coding practice to perform operations in an "except" block?
如果 "try" 块中的代码失败,是否是纠正 "except" 块中错误的 Pythonic 方法?
我遇到过这两种代码片段:
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")
一个比另一个更受欢迎吗?
使用异常实际上是一个 pythonic way.There 的原则,称为 EAFP,代表 'Easier to Ask for Forgiveness than Permission'。您可以阅读更多相关信息 here
第二个代码片段看起来比第一个更好,因为仍有机会生成相同的数字。
如果 "try" 块中的代码失败,是否是纠正 "except" 块中错误的 Pythonic 方法?
我遇到过这两种代码片段:
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")
一个比另一个更受欢迎吗?
使用异常实际上是一个 pythonic way.There 的原则,称为 EAFP,代表 'Easier to Ask for Forgiveness than Permission'。您可以阅读更多相关信息 here
第二个代码片段看起来比第一个更好,因为仍有机会生成相同的数字。