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 に答える