Python - Исключение необработано: «имя« главное »не определено» - PullRequest
0 голосов
/ 06 февраля 2020

Я сейчас учусь python и мне нужна помощь.

Я не уверен, где синтаксис неверен. В нем говорится «имя« main »не определено»

Я видел другие примеры, где синтаксис выглядит одинаково, но по какой-то причине мой не работает.

 class Main(main):
    """description of class"""

    def main():
      print('starting etl')
      # establish connection for target database (sql-server)
      target_cnx = pyodbc.connect(**datawarehouse_db_config)    
      # loop through credentials

      # sql-server
      for config in sqlserver_db_config: 
        try:
          print("loading db: " + config['database'])
          etl_process(sqlserver_queries, target_cnx, config, 'sqlserver')
        except Exception as error:
          print("etl for {} has error".format(config['database']))
          print('error message: {}'.format(error))
          continue
      target_cnx.close()

    if __name__ == "__main__":
        main()

Любая помощь будет высоко ценится.

1 Ответ

1 голос
/ 06 февраля 2020

Ваш класс Main пытается унаследовать от несуществующего класса main.

main определяется только как метод класса Main.

Похож на вас хотел только иметь функцию main без класса Main.

def main():
  print('starting etl')
  # establish connection for target database (sql-server)
  target_cnx = pyodbc.connect(**datawarehouse_db_config)    
  # loop through credentials

  # sql-server
  for config in sqlserver_db_config: 
    try:
      print("loading db: " + config['database'])
      etl_process(sqlserver_queries, target_cnx, config, 'sqlserver')
    except Exception as error:
      print("etl for {} has error".format(config['database']))
      print('error message: {}'.format(error))
      continue
  target_cnx.close()

if __name__ == "__main__":
    main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...