0

我是python编程的新手。我在 Linux 上构建了 Beremiz 程序,我得到了这个错误。

File "Beremiz.py", line 164, in <module>
    from ProjectController import ProjectController, MATIEC_ERROR_MODEL, ITEM_CONFNODE
  File "/DATA1/UTILITY/Beremiz/beremiz/ProjectController.py", line 16, in <module>
    import connectors
  File "/DATA1/UTILITY/Beremiz/beremiz/connectors/__init__.py", line 34
    for name in listdir(_base_path) 
      ^


connectors = {name:_GetLocalConnectorClassFactory(name)
                  for name in listdir(_base_path)
                      if path.isdir(path.join(_base_path, name))
                          and not name.startswith("__")}

此语法不是 python 构建的。什么是问题?谢谢大家。

4

1 回答 1

3

您需要确保您的 Python 版本支持字典理解语法。这需要 Python >= 2.7 或 Python >= 3。

否则,您可以像这样修改代码:

connectors = dict((name, _GetLocalConnectorClassFactory(name))
                  for name in listdir(_base_path)
                      if path.isdir(path.join(_base_path, name))
                          and not name.startswith("__"))
于 2012-08-08T03:54:11.267 回答