为什么在第一行出现语法错误?

时间:2019-07-23 10:45:36

标签: python-3.x pylint

我在PC上安装了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]

1 个答案:

答案 0 :(得分:1)

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

这有效:

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