Chcę kolejkować

lambda : Popen(.....)

Zadzwonić / poczekaj później. Następnie dodaj więcej, aby wstrzymać w kolejce, a następnie spożywać je ponownie i tak dalej.

Główny moduł kolejki troszczy się o synchronizację, a to sprawia, że API czuje się trochę dziwne w miejscach. Nie przejmuję się synchronizacją (pojedynczy program gwintowany, popen po prostu wykonaj swoją pracę i wyrzucić wyjątek na błędy i nie wpływają na środowisko w żadnych ważnych sposobach (generują pliki)

Czy powinienem użyć generatora, który dodam do niego w późniejszym czasie. Jeśli tak, to jaki jest dobry sposób na dodanie przedmiotów do generatorów, dzwoniąc

gena = itertools.chain(gena,[item))

Za każdym razem wydaje się marnotrawny.

-1
Roman A. Taycher 3 grudzień 2011, 17:09

3 odpowiedzi

Najlepsza odpowiedź

Tak, możesz użyć deque (kolekcje. Możesz również użyć listy i nie martwić się o nieefektywność, ponieważ prawdopodobnie nie ma znaczenia.

3
user97370user97370 3 grudzień 2011, 13:21

Możesz użyć kolekcje.Deque:

from collections import deque

queue = deque()
queue.append(new) # append
current = queue.popleft() # first item
3
Jochen Ritzel 3 grudzień 2011, 13:24

Ponieważ nie martwisz się o wielokrotne gwintowanie, logiczny wybór wydaje się być Kolekcje.Deque.

2
Dave 3 grudzień 2011, 13:22