Che Posted May 28, 2018 Report Posted May 28, 2018 Salut ! Nu m-am intrebat niciodata dar acum s-a intamplat ca am nevoie de asa ceva si nu stiu cum se face. Sa zicem ca ai o bucla for in python: for i in range (0, 200): # do something; ------------------------------------------------ Chestia este ca se intampla ca acel something sa nu aiba intotdeauna rezultatul dorit. => Si atunci e simplu: pui break si printezi i ca sa vezi ultimul i la care a ramas si sa-l bagi in variabila j. Pe urma, ma gandesc ca pentru a relua for-ul nu trebuie decat sa faci asa: for i in range (j, 200): # do something; Intrebarea este cum se poate face ca sa continui loop-ul for de unde a ramas atunci cand a intervenit eroarea si s-a intrerut, daca i este un element dintr-o lista ? ex. mylist = ["mere", "pere", "capsuni", "banane", "piersici"] for i in mylist: # do something Sa zicem ca se intrerupe. Cum continui mai departe bucla for (fara sa o reiei de la capat !) ? Multumesc mult ! Quote
Active Members dancezar Posted May 28, 2018 Active Members Report Posted May 28, 2018 try unde e posibil sa apara eroare, except continue? Quote
tjt Posted May 28, 2018 Report Posted May 28, 2018 (edited) folosesti continue Edited May 28, 2018 by tjt Quote
Wav3 Posted May 28, 2018 Report Posted May 28, 2018 Nu prea inteleg ce vrei sa faci. Pune codul concret sau exemplu complet. Ce reprezinta j? Ai putea face o "ghidusie" punand for-ul intr-o functie cu parametru de $start pe care sa o apelezi in caz de fail. Dar repet, nu stiu daca este ceea ce cauti pentru ca nu inteleg exact ce vrei sa faci. Quote
Che Posted May 28, 2018 Author Report Posted May 28, 2018 (edited) 17 minutes ago, dancezar said: try unde e posibil sa apara eroare, except continue? Pai aici e chestia. Ca acel # do something inseamna de fapt ca accesez un url cu niste cookie-uri pe care eu i le dau de-a gata, in cURL. Am nevoie sa continui loop-ul fiindca, dupa un anumite numar de accesari (nu stiu cate), ma blocheaza si schimba acele cookies. Eu, cu ajutorul unui alt program, iau inapoi cookie si headere nou generate si le bag iarasi in python, cURL si continui iarasi accesarile, pana se blocheaza iar. De asta am nevoie sa continui exact de unde a ramas si nu cred ca pot face asta cu try pass except fiindca atunci cand se opreste trebuie sa intervin eu si sa iau noile cookies. @Wav3 @tjt Edited May 28, 2018 by Che Quote
jetus Posted May 28, 2018 Report Posted May 28, 2018 (edited) dar un if in acel for nu merge? gen daca nu apare acea eroare in valoare ta sa faca acel #do something. Sau dupa ce da valoare ... depinde caz, verifici valoare cu un if si sa faca sau sa nu faca mai departe in functie de valoare de care ai nevoie, sau sa genereze alt cookies daca e expirat sau nu e valid. Edited May 28, 2018 by jetus 1 Quote
tjt Posted May 28, 2018 Report Posted May 28, 2018 (edited) ceva basic: file_changed = false #load data from file for x in ...: if blocked: while not file_changed: #check if file content changed # load new data # set file changed to false # set blocked to false time.sleep(1) #do stuff #when blocked set blocked to true and continue Poti sa iti salvezi intr-un fisier datele de care ai nevoie. Edited May 28, 2018 by tjt 1 1 Quote
Turry Posted May 28, 2018 Report Posted May 28, 2018 (edited) Cred ca poti folosi un generator. Ceri valorile cand ai nevoie de ele. In caz de nu merge asa poti sa folosesti enumerate si sa salvezi indexul. Asa poti sa revii de unde erai in caz de esueaza (Evident, folosind un try block). Edited May 28, 2018 by Turry Quote
gigiRoman Posted May 28, 2018 Report Posted May 28, 2018 (edited) Foloseste o stiva: cand ai nevoie de element faci pop, cand iti da eroare faci push inapoi in stiva si ceri iar cookieuri, principiul lifo. Mai poti folosi si queue, dar fifo e mai naspa. Bafta! Edited May 28, 2018 by gigiRoman 1 Quote
Che Posted May 29, 2018 Author Report Posted May 29, 2018 Multumesc tuturor ! Pana la urma m-am gandit sa fac cum a zis @jetus si @tjt adica bag un if si daca nu am rezultatul dorit imi apare input sa ii dau noile cookies. Cel mai simplu ! Multumesc ! 1 Quote
gigiRoman Posted May 30, 2018 Report Posted May 30, 2018 De ce nu automatizezi cookieurile cu selenium? Prea mult lucru manual strica. Quote
Che Posted May 30, 2018 Author Report Posted May 30, 2018 (edited) 14 hours ago, gigiRoman said: De ce nu automatizezi cookieurile cu selenium? Prea mult lucru manual strica. Este vorba de un site protejat cu incapsula si selenium este detectat de verificarile lor ca are o variabila speicifca, din cate imi amintesc, care nu poate fi schimbata, de asta folosesc pycurl. Multumesc pentru sugestie ! Edited May 30, 2018 by Che Quote