首页 > 解决方案 > 为什么我在第一行出现语法错误?

问题描述

我在我的电脑上安装了 pylint。但是当我在写一些代码时,例如:

def my_logger(original_func):
    import logging
    logging.basicConfig(filename = f'{original_func.__name__}.log', level = logging.INFO)

    def wrapper(*args, **kwargs):
        logging.info(f'Ran with {*args} and {**kwargs}.')

        return original_func(*args, **kwargs)

    return wrapper

Pylint 引发语法错误并在关键字“def”下划线:

invalid syntax(<fstring>, line 1) pylint syntax-error [1,1]

标签: python-3.xpylint

解决方案


*args并且**kwargs不是表达式;它们是仅限于某些上下文的语法(例如函数调用、函数声明、数组字面量、多重赋值等)。f 字符串{...}插值器需要一个表达式。

这有效:

logging.info(f'Ran with {args} and {kwargs}.')

推荐阅读