Что мне нужно сделать, чтобы заполнить этот словарь в Python данными из файла SQLite? - PullRequest
0 голосов
/ 24 октября 2018

Во время отладки моего кода, который очень большой, в одном разделе у меня есть проблема, этот фрагмент кода прекрасно работает с набором входных данных, но затем я даю другие входные данные, которые мне нужны, они не работают, вообще.

  self.__results = []
        self.__id = []
        if self.__rd_sub_id is not None:
            random_list = dbi_val.get_resuls_descriptor_child_list(self.__rd_sub_id)
            for random_id in random_list:
                for mid in files.itervalues():
                    try:
                        res = Result()
                        if res.Load(dbi_val, dbi_gbl, testing_run_id, self.__coll_id, id=parameter_given_id, random_id=random_id,
                                    obs_name=obs_name, level=level, cons_key=cons_key):
                            self.__results.append(res)
                            self.__id.append(res.GetId())
                    except StandardError:
                        pass

        self.__measid = list(set(self.__measid))  # remove duplicates
        return True

ОК, теперь проблема начинается с random_list, random_list для одного входа: list:

[1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 
 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 
 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, .......]

Затем, когда я пытаюсь дать ввод, мне нужнообработать

if measid is None:
            rec_files = dbi_cat.get_collection_measurements(self.__coll_id, False, True, True)
        else:
            rec_files = {}

ОК, я знаю, что это происходит в ветке else: но что нужно сделать, чтобы заполнить ее правильно

Вместо этого я получаю rec_files = {}

из

rec_files = dict: {//path_to_file1, //path_to_file2, //path_to_file3 //path_to_file4 //path_to_file5 //path_to_file6 //path_to_file7 //path_to_file8 //path_to_file9 //path_to_file10 etc.

Я знаю, что я не очень откровенен и сообщаю всю информацию, но, пожалуйста, попробуйте, ввод сделан из некоторых файлов, которые я читаю, и что я считаю ключевым, файл SQLite, где янаписать и взять данные, это то, что я думаю.Я не знаю, что это делает или почему это так хорошо работает dbi_val.get_resuls_descriptor_child_list так хорошо работает в первом сценарии, или что мне нужно сделать, чтобы это работало всегда одинаково.

И в концеВ посте я хочу еще раз указать, что основная цель состоит в том, чтобы self.__results заполнялось идентификаторами, которые могут быть использованы позже, потому что без них другая часть кода, которая сейчас не представляет интереса, зависит от этого и неразобран.В другой части у меня есть идентификаторы, которые меня интересуют, но я не смог перенести их оттуда как этот «я». Результатом является то, что вы видите не просто список, а список объектов, в любом случае мне не удалось получить идентификаторы от другогосписок объектов другого типа, может быть, вы знаете, как это сделать, или что мне нужно сделать с файлом SQLite, чтобы получить те же результаты, что и при первом вводе.

...