Python 3.9 版本不支持 match 语句

Pet*_*rBe 1 python python-3.9

我在一台新计算机上安装了 Python,不幸的是,我收到了一条来自我已经使用了一段时间的代码的错误消息。这是关于“匹配”声明的。这是代码:

import os

def save(df, filepath):
    dir, filename = os.path.split(filepath)
    os.makedirs(dir, exist_ok=True)
    _, ext = os.path.splitext(filename)
    match ext:
        case ".pkl":
            df.to_pickle(filepath)
        case ".csv":
            df.to_csv(filepath)
        case _:
            raise NotImplementedError(f"Saving as {ext}-files not implemented.")
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,如何解决“Python版本3.9不支持匹配语句”的问题?

0x0*_*fba 6

或者只是ifelif

import os

def save(df, filepath):
    dir, filename = os.path.split(filepath)
    os.makedirs(dir, exist_ok=True)
    _, ext = os.path.splitext(filename)
    if ext == ".pkl":
        df.to_pickle(filepath)
    elif ext == ".csv":
        df.to_csv(filepath)
    else:
        raise NotImplementedError(f"Saving as {ext}-files not implemented.")
Run Code Online (Sandbox Code Playgroud)