如何忽略Pydev Eclips中特定的未定义变量

2024-06-28 19:33:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Eclipse和Pydev插件在windows上编写一个跨平台python脚本。如果当前平台不是NT,则脚本使用os.symlink()os.readlink()方法。

由于os.symlink()os.readlink()方法在Windows平台上不可用,Pydev将它们标记为未定义的变量,如下所示:

eclipse_undef_variable

问题:

有没有办法忽略特定的未定义变量名错误而不修改源文件?

编辑:我找到了一种方法来忽略stackoverflow上来自this answer的未定义变量错误。
如果有办法使用project file或Pydev设置来解决这个问题,我就不提这个问题。


Tags: 方法脚本插件oswindows错误跨平台平台
3条回答

我怀疑pydev可能有更好的、特定的解决方案,但是在程序的开头放一些代码怎么样,比如:

if not hasattr(os, 'symlink'): os.symlink = None

是的,这是一个黑客,但是,除非pydev有专门的解决方案(不幸的是,我不知道任何解决方案,但是我不是pydev专家;-),否则可能比什么都没有要好。。。

我注意到PyDev不能识别ZeroMQ常量,所以我也遇到了同样的问题。

我发现PyDev在Preferences > PyDev > Code Editor > Code AnalysisUndefined选项卡中有一个设置选项。只要在那里写symlinkreadlink(逗号分隔)就可以消除错误。

仍然不是最优的,但现在已经足够好了。

我用pydev+pylint。

使用pylint,您可以在Preferences>;Pydev>;pylint>;“Aggruments to pass to pylint”部分添加要忽略的消息。

--disable-msg=W0232,F0401

您可以忽略包含注释的消息:

os.symlink(target, symlink) # IGNORE:<MessageID> 

将鼠标移到行号所在的“x”上,可以看到消息id

相关问题 更多 >