尽管有“disable”注释,Pylint 语法错误并未被抑制

问题描述 投票:0回答:1

我正在为 Ansys Mechanical 编写脚本,该脚本是用 IronPython 2.7.0.40 编写的。在我的脚本中,我需要为

ContactTimeStepControls.None
分配一个属性。请注意,这里的
None
不是
None
对象。[1]

我的问题是 VS Code 中的 Pylint 扩展将此处使用

None
标记为语法错误(可能是因为它认为它是
None
对象)并拒绝评估代码的其余部分。以下是它给出的错误消息:

语法错误:语法无效(file:///[PathToMyScript],第 264 行)编译 [Ln 264,Col 80]

解析失败:'无效语法(第264行)'Pylint(E0001:语法错误)[Ln 264,Col 81]

我尝试通过以下两种方式禁用该错误消息:

# pylint: disable=syntax-error
Cxn.TimeStepControls = ContactTimeStepControls.None

# pylint: disable=E0001
Cxn.TimeStepControls = ContactTimeStepControls.None

两者都未能抑制错误。

这里有一个截图来演示:

因此我有三个问题:

  1. 我在 Pylint 抑制方面做错了什么吗?
  2. 是否有一些构建代码的方法来避免错误(请注意,我无法更改
    ContactTimeStepControls
    的成员)?
  3. 还有其他方法可以抑制这一行上的 Pylint 错误吗?

[1]

dir(ContactTimeStepControls)
的输出是这样的(参见粗体项):

['AutomaticBisection', 'CompareTo', 'Equals', 'Format', 'GetHashCode', 'GetName', 'GetNames', 'GetType', 'GetTypeCode', 'GetUnderlyingType', 'GetValues', 'HasFlag', 'IsDefined', 'MemberwiseClone', 
'无'
, 'Parse', 'PredictForImpact', 'ReferenceEquals', 'ToBoolean', 'ToByte', 'ToChar', 'ToDateTime', 'ToDecimal', 'ToDouble', 'ToInt16', 'ToInt32', 'ToInt64', 'ToObject', 'ToSByte', 'ToSingle', 'ToString', 'ToType', 'ToUInt16', 'ToUInt32', 'ToUInt64', 'TryParse', 'UseImpactConstraints', '__and__', '__class__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__invert__', '__le__', '__lt__', '__ne__', '__new__', '__nonzero__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__xor__', 'value__']

pylint pyansys
1个回答
0
投票

无法禁用语法错误,它们表明 pylint 与 Iron python 不兼容,无法解析您的文件。我在移动设备上,所以无法从 github 存储库链接 Iron python 问题,但有一个。

© www.soinside.com 2019 - 2024. All rights reserved.