我正在尝试执行一条语句,但如果它失败了,我想执行 except 语句,然后我想再次执行 try。我知道我可以使用循环,但我正在寻找更优雅的解决方案。
在我的用例中,我尝试将文件保存到文件夹中,但如果收到 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')
这会是解决这个问题的“正确”方法吗?