Jeśli chciałbym w Pythonie 3.5 wykonywać kilka instrukcji niezależnych od siebie (ale wykorzystujących na przykład ten sam zasób, np. pendrive'a) jednocześnie, to powinienem wykorzystać _asyncio czy multiprocessing_?

Przykładowo - chciałbym wykonać kopiowanie iluśtam plików z HDD na pendrive'a, ale każde kopiowanie z osobna móc zatrzymać, anulować itd. Jak się do tego zabrać? Co jest w moim przypadku lepsze?

Pytanie bonus - czy w razie potrzeby kod asynchroniczny można "puścić" synchronicznie?
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@asunez: jeśli chodzi o wgrywanie na pena, to i tak możesz puścić co najwyżej jeden strumień. Jak puścisz dwa, to one się będą przełączać między sobą, co tylko zwolni przesył drastycznie.
Do kopiowania to kolejkę trzeba robić.
  • Odpowiedz
@asunez: asyncio jest generalnie do oczekiwania na zasoby, albo na coś innego, do pętli eventów, albo opóźniania reakcji, etc. multiprocessing może ci się przydać jak będziesz chciał przeliczyć niezależnie różne obszary pamięci, nie wiem, mnożyć macierze. Jak byś to połączył to możesz równolegle oczekiwać na niezależne zdarzenia, chociaż to już się trochę bez sensu robi, ale kto wie.
  • Odpowiedz
czy któryś z mirków pommógłby mi to przepisać na c? kompletnie gubię się w tym języku #python #programowanie

def PLL(self, NRZa):
idx = zeros(len(NRZa)//int(self.Ns)*2) # allocate space to save indexes
c = 0

for
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

klamry jak tu działają bo nie widzę


@technic: ty chcesz pomocy, czy żeby ktoś odwalił całą robotę za ciebie? Nie chciało ci się nawet dowiedzieć, że w pythonie nie używa się klamr do oddzielania fragmentów kodu...
  • Odpowiedz
Mireczki z #programowanie i #python - pytanie mam. Od lat kisnę zawodowo w #php, pomyślałem, że może zobaczę co Python ma do zaoferowania pod kątem webdeveloperki. Możecie polecić jakieś materiały, które w miarę szybko "przelecą" samego pythona, a później coś pod webdeveloperkę typowo (#django?). Widzę, że materiałów sporo na sieci, ale dużo to takie podstawy podstaw, które bardziej tłumaczą idę np. instrukcji
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam problem z Apache2 (na Ubuntu srv) na którym postawiłem aplikację Django. Problem polega na tym, że użycie pamięci rośnie przy każdym odświeżeniu strony (o 0,4%) i nigdy nie spada (apache2.jpg). W konsekwencji pamięć się całkowicie zapełnia i serwer się wykrzacza.
Nie mam doświadczenia z takimi wdrożeniami więc nie wiem gdzie szukać problemu. Aplikacja Django na pewno nie jest optymalna - np. jeden z widoków generuje obrazek przy każdym odświeżeniu ale czy
soma115 - Mam problem z Apache2 (na Ubuntu srv) na którym postawiłem aplikację Django...

źródło: comment_cvXDLb2OEYd3jc5ctAhgtBFP266oj7RS.jpg

Pobierz
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@soma115: Automatyczne zarządzanie pamięcią (w językach takich jak Java, C# czy Python) polega na tym ,że obiekty które utraciły referencję (tzw. nie prowadzi do nich żadna zmienna, ani nie są częścią zmiennej do której prowadzi inna zmienna) są mówiąc krótko wyjebywane z pamięci.

Jeśli w Pythonie masz "wyciek pamięci" (memory leak) to prawdopodobnie trzymasz referencje do obiektów cały czas. Np. w globalnej tablicy albo wewnątrz innego obiektu trzymasz referencję do
  • Odpowiedz
Mireczki, problem natury #programowanie . Mam skrypt, który w skrócie, "skanuje mi internet". Chciałbym trzymać w bazie danych, konkretnie w postgresie) wyniki tego skanowania, wyglądają one następująco:

adres domeny - [ lista adresów poddomen ]

Mam w tym celu 3 tabele - adresy, info o skanowaniu (m. in. ID skanowanej domeny) i bridge'a info skanowania---poddomeny. Zastanawiam się jak najwydajniej zrobić insertowanie danych do tabel.

Mój
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Obliczanie stanu generatora liczb pseudolosowych – na przykładzie Math.random() z Firefoksa

https://sekurak.pl/obliczanie-stanu-generatora-liczba-pseudolosowych-na-przykladzie-math-random-z-firefoksa/
A jak ktoś chce może wykopać znalezisko, szkoda że dodane po słabych tagach
http://www.wykop.pl/link/3337823/obliczanie-stanu-generatora-liczb-pseudolosowych-na-przykladzie/
#security #kryptografia #programowanie #python
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak myślisz, to dobrze, czy źle ? ( ͡° ͜ʖ ͡°)


@john118: hm.. ciekawe pytanie.
źle trochę się wyraziłem, bo miałem napisać, że nie potrafimy działać naprawdę losowo nawet jak byśmy chcieli.

a że w ogólności nie działamy losowo
  • Odpowiedz
Nie mogę sobie poradzić za bardzo z jednym problemem. Chodzi konkretnie o składnie.
Mam funkcje, która przyjmuje dwa argumenty. Mogą być zarówno str jak i int. I teraz chciałbym żeby funkcja, która bazowo ma robić po prostu print(a, b)) robiła coś innego dla str i coś innego dla inta (np. dopisywała do inta "int" na końcu), ale jeśli tylko jeden jest intem, to oczywiście tylko dla niego zachowywała się inaczej. Chodzi o cos
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@max1983: Możesz przecież użyć funkcji type i porównać z danym typem.
type(15) == int -> true
type("a") == int -> false
type(15) == str -> false
type("a") == str -> true
  • Odpowiedz
@lionbest: Znasz jakąś książkę z dobrym wstępem do zrozumienia o czym piszesz. U mnie problem jest w tym, że nie rozumiem podstaw. I nie mogę znaleźć wytłumaczenia jak to wszystko działa. (Swoją drogą zadziałało to co napisałem -- ale nie wiem do końca dlaczego ( ͡º ͜ʖ͡º) ) Interesuje mnie głownie python Qt i C/C++ więc najlepiej jak by to było na przykładzie właśnie tych
  • Odpowiedz
@lionbest: No wlasnie. Sygnały nie działają. Ja go nie muszę w sumie kończyć. Ale chce swój własny sygnał, którym cos, cokolwiek przyśle do DamTerm'a. W przykładzie używam dwóch sygnałów (testt oraz pasInfo) i żaden nie drukuje nic na wyjściu standardowym. Pomimo że sama metoda run się uruchomiła.
  • Odpowiedz
@lionbest: Przykład jest okrojony (dlatego nie ma sensu). Spodziewałem się wyniku:
Start!
TESTETT!
To się nie wyświetla
To się
  • Odpowiedz