Отправлять один и тот же JSON в файл при каждом выполнении скрипта

Ну, причина в том, что привязки выполняются при выполнении кода, и выполняется определение функции, ну ... когда функции определены.

Сравните это:

class BananaBunch:
    bananas = []

    def addBanana(self, banana):
        self.bananas.append(banana)

Этот код страдает от такого же неожиданного случая. bananas - это атрибут класса, и, следовательно, когда вы добавляете к нему вещи, он добавляется ко всем экземплярам этого класса. Причина в том, что это точно то же самое.

Это просто «Как это работает», и заставить его работать по-другому в функциональном случае, вероятно, будет сложно, а в случае класса вероятно невозможно или, по крайней мере, замедлить объект создание экземпляра, так как вам придется хранить код класса и выполнять его при создании объектов.

Да, это неожиданно. Но как только пенни падает, она прекрасно вписывается в то, как работает Python в целом. На самом деле, это хорошее учебное пособие, и как только вы поймете, почему это происходит, вы будете намного лучше читать python.

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

0
задан jeremy 26 March 2019 в 14:50
поделиться

1 ответ

Я не уверен, хорошо ли я понимаю, но быстрое решение:

<html>
<script>
var table = [];
console.log(table);

function findInArrAndPush(obj){
	const found = table.some(el => el.issueID === obj.issueID);
	if (!found) table.push(obj);
	return table;
}
for(i=0;i<3;i++){
	var id = i;

	var objToAdd = {"executionDate":"01-01-1000",
  "issueID":id,
  "priority":{
     "jira": "1", 
     "computed":"1"
  },
  "expectedValue":{
     "jira": "2", 
     "computed":"2"
  }
};
console.log(findInArrAndPush(objToAdd));
//ADD TO FILE HERE
}

  </script>
<body>
</body>
</html>

единственное, что вам нужно сделать здесь - распечатать результат в файл.

0
ответ дан Arm144 26 March 2019 в 14:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: