0
import contextlib
from win32com.client import Dispatch  

@contextlib.contextmanager
def excel_ctx() -> Generator[Dispatch, None, None] :
    try:
        yield excel := Dispatch("Excel.Application")
    finally:
        excel.quit()

旨在创建一个新的 Excel 应用程序并每次调用其退出方法。我认为它可以用海象运算符写得更简洁,但我明白了SyntaxError: invalid syntax

4

1 回答 1

1

您需要在海象运算符周围添加括号,如下所示:

yield (excel := Dispatch("Excel.Application"))
于 2021-10-21T20:32:23.680 回答