python-3.x 为什么pylint会引发这个错误:解析失败:“”无法在此处为表达式赋值,您的意思可能是“==”而不是“=”?[已关闭]“

ddrv8njm  于 2023-01-10  发布在  Python
关注(0)|答案(1)|浏览(80)

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
昨天关门了。
截至23小时前,社区正在审查是否重新讨论这个问题。
Improve this question
在解答"不切实际的Python项目"一书中的一些练习时,我遇到了这个错误:

myconfig.pylintrc:6:1: E0001: Parsing failed: 'cannot assign to expression here. Maybe you meant '==' instead of '='? (<unknown>, line 6)' (syntax-error)

这个错误发生在用pylint分析我的代码时,但在控制台中运行时不会发生,运行时不会发生错误。
这是我的解决方案:

"""Translate words from english to Pig Latin."""

english_vowels = ['a', 'e', 'i', 'o', 'u', 'y']

def main():
    """Take the words as input and return their Pig Latin equivalents."""
    print('Welcome to the Pig Latin translator.\n')

    while True:
        user_word = input('Please enter your own word to get the equivalent in Pig Latin:\n')

        if user_word[0].lower() in english_vowels:
            print(user_word + 'way')
        else:
            print((user_word[1:] + user_word[0].lower()) + 'ay')

        try_again = input('Try again? Press enter or else press n to quit:\n')
        if try_again.lower() == 'n':
            break

if __name__ == '__main__':
    main()

myconfig. pylintrc与标准配置相同。
我试过将变量赋值移入和移出main函数或while循环,但仍然出现这个错误。

3mpgtkmj

3mpgtkmj1#

pylint的正常输出显示文件出错,例如:

pax:/mnt/c/Users/Pax/wsl> cat myprog.py
def myfunc(x):
    pass

pax:/mnt/c/Users/Pax/wsl> pylint myprog.py
************* Module myprog
myprog.py:1:1: W0613: Unused argument 'x' (unused-argument)

因此,看起来就像是您试图在文件myconfig.pylintrc上运行pylint,因为它显示的名称是:

myconfig.pylintrc:6:1: E0001: Parsing fail ...

这并不是一个好主意,因为pylint是为了捕捉Python源代码的问题,而不是它自己的配置文件的问题:-)我怀疑你正在做的是类似pylint *的事情,而不是pylint *.pypylint .(1)。
为了支持这个假设,下面是我在自己的pylintrc上运行pylint时看到的结果:

************* Module pylintrc
pylintrc:32:27: E0001: Parsing failed:
    'invalid decimal literal (<unknown>, line 32)' (syntax-error)

(1)顺便说一句,您通常会运行pylint并将您想要检查的 directories 提供给它,因为它能够递归遍历这些目录并找到Python源代码。
如果你给予它 explicit 文件来检查,你的测试脚本将变得相当大,因为你添加了越来越多的文件(我自己的宠物项目有大约40个文件,我们正在工作的项目有数百个)。

相关问题