这是完全有效的代码:
globals().update({"variable": "val"})
variable
# do-something-with-variable
Run Code Online (Sandbox Code Playgroud)
但是,PyCharm 无法识别该变量:
我不想禁用未解析引用的标记;这是一个非常有用的功能。我希望 PyCharm 识别我的变量。我怎样才能做到这一点?(即使这对开发来说是一个肮脏的伎俩,我稍后会在生产中删除)
如果不是因为3.4 版中的Pythonmultiprocessing模块通过上下文类动态创建变量,__init__.py而不是在文件中定义它们,我不会关心 globals().update (请参阅此链接)因此,PyCharm无法识别模块的属性根本不存在,所以我必须不断地查找文档,而不是使用 PyCharm 的内省功能来处理这个包,更不用说没有得到让unresolved reference我不断怀疑我的代码是否正确的错误。基本上就像在 Windows 记事本中编写代码一样;-)
您可以添加:# noinspection PyUnresolvedReferences在您想要禁用未解决的参考检查的行上方。
它不会在其他地方禁用它(从我在 Pycharm 2018.2 中看到的)