gpt4 book ai didi

Python try except,执行except语句后重试

转载 作者:行者123 更新时间:2023-12-05 01:55:21 25 4
gpt4 key购买 nike

我正在尝试执行一条语句,但如果它失败了,我想执行 except 语句,然后再执行一次。我知道我可以使用循环,但我正在寻找更优雅的解决方案。

在我的用例中,我尝试将文件保存到文件夹,但如果我收到 FileNotFoundError,我想在 except 中创建文件夹并重试。

from pathlib import Path
import os

folder = Path('folder')
df = [a,b,c]

try:
df.to_feather(folder / 'abc.ftr')
except:
os.makedirs(folder)
df.to_feather(folder / 'abc.ftr')

但在这种情况下,我会重复 df.to_feather(folder/'abc.ftr') 语句。如果语句变大,这会很烦人,我不想为此构建函数。

另一种方式是:

if folder not in os.listdir():
os.makedirs(folder)

df.to_feather(folder / 'abc.ftr')

这是解决这个问题的“正确”方法吗?

最佳答案

python3.2 os.makedirs具有可选的 exist_ok 参数,默认情况下为 False。当设置 True 并且 os.makedirs 被指示创建已经存在的目录时,它是无操作。因此代替

if folder not in os.listdir():
os.makedirs(folder)

df.to_feather(folder / 'abc.ftr')

你可以这样做

os.makedirs(folder, exist_ok=True)
df.to_feather(folder / 'abc.ftr')

关于Python try except,执行except语句后重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70257840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com