Python-скрипт sqlite - fetchall: объект типа 'NoneType' не имеет len () - PullRequest
0 голосов
/ 24 октября 2018

Я создал метод update_instance, но когда я его вызываю, я продолжаю получать объект ошибки типа 'NoneType' без len (), намерение состоит в том, чтобы обновлять атрибуты экземпляра, только если len (строки BREG_TRADE_GOING)> 0,заранее благодарю за помощь

def update_instance(self):
        #db = self.file_path
        conn = sqlite3.connect(self.file_path)
        c = conn.cursor()

        c.execute("SELECT * FROM BREG_TRADE_GOING")
        rows = c.fetchall()
        print(rows)
        print (len(rows))
        if len(rows) > 0:
            try:
                for row in rows:
                    if row[1] in StockData.symbol_list:
                        symbol = row[1]
                        StockData.symbol_instance_dict[symbol].target_order_id = row[0]
                        StockData.symbol_instance_dict[symbol].symbol = row[1]
                        StockData.symbol_instance_dict[symbol].min_quantity = row[2]
                        StockData.symbol_instance_dict[symbol].min_price = row[3]
                        StockData.symbol_instance_dict[symbol].asset = row[4]
                        StockData.symbol_instance_dict[symbol].crossover_type = row[5]
                        StockData.symbol_instance_dict[symbol].trade_type = row[6]
                        StockData.symbol_instance_dict[symbol].trade_price = row[7]
                        StockData.symbol_instance_dict[symbol].entry_time = row[8]
                        StockData.symbol_instance_dict[symbol].entry_trade_amount = row[9]
                        StockData.symbol_instance_dict[symbol].buy_order_id = row[10]
                        StockData.symbol_instance_dict[symbol].sell_amount = row[11]
                        StockData.symbol_instance_dict[symbol].trade_going = True
                        StockData.symbol_instance_dict[symbol].buy_order_filled = True
                        StockData.symbol_instance_dict[symbol].target_order_placed = True
                        StockData.symbol_instance_dict[symbol].exit_time = row[15]
                        StockData.open_positions.append(symbol)
            except sqlite3.Error as e:
                self.log.error("Database error: %s" % e)
            except Exception as e:
                self.log.error("Exception in _query: %s" % e)
            finally:
                if conn:
                    conn.close()

traceback:

[(17814868, 'symbol', 1.0, 2.9e-07, 'BTC', 'positive', 'buy', 2.93e-06, '23/10/2018 12:46:38', 717.0, 17814857, 716.0, 1, 1, 1, None), (25999559, 'symbol', 1.0, 2.519e-05, 'BTC', 'positive', 'buy', 0.00025567, '23/10/2018 13:02:52', 8.0, 25999466, 8.0, 1, 1, 1, None), (31585121, 'symbol', 1.0, 2e-07, 'BTC', 'positive', 'buy', 1.92e-06, '23/10/2018 16:32:01', 1094.0, 31585118, 1093.0, 1, 1, 1, None)]
3
Started...
web socket started...
object of type 'NoneType' has no len()
...