- Gaming notebook topik
- CES 2025: prezentálta az NVIDIA az új GeForce-okat
- Milyen monitort vegyek?
- VR topik (Oculus Rift, stb.)
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Nvidia GPU-k jövője - amit tudni vélünk
- AMD Navi Radeon™ RX 9xxx sorozat
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- LG LCD és LED TV-k
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
Új hozzászólás Aktív témák
-
Hege1234
addikt
lehetne valahogy a shutil.move-t úgy használni, hogy a már mappában lévő fájlt/fájlokat auto
felülírja, ha pedig még nem létezik csak simán mozgassa át a fájlokat?vagy esetleg shutil helyett egy jobb megoldás rá?
src_path = '.\\encoding'
trg_path = '.\\encoding\\befejezett\\'+dir_title+''
for src_file in Path(src_path).glob('*.*'):
shutil.move(src_file, trg_path)[ Szerkesztve ]
-
sztanozs
veterán
válasz stellaz #3897 üzenetére
Igen, a string magaban is lista (karakter-lista), igy az osszes lista kifejezes hasznalhato rajta:
szo[::-1] := "rége"
szo[1:3] := "gé"
szo[::2] := "eé"[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
stellaz
veterán
Sziasztok!
A szó listából akarok generálni egy másik, nagybetűs listát, de a végeredmény elég fura lesz, szétszedi betűkre. Mit csinálok rosszul? Tudna valaki segíteni?
szo = 'egér'
szavak = []
szavak.append(set(map(str.upper, szo)))
print(szavak)
[{'R', 'G', 'É', 'E'}][ Szerkesztve ]
-
axioma
veterán
válasz Oryctolagus #3892 üzenetére
atlaghoz tuti perc (vagy masodperc) egeszeket atlagolnek, majd a megjelenites megoldja ha neked nem 12589 masodperc hanem 3 ora 29 perc 8 masodperc kiiras legyen (bocs ha elszamoltam de a formatum a lenyeg)
vagy #3892 is jo persze, keresztposzt, lenyegeben ugyanaz[ Szerkesztve ]
-
MasterMark
titán
válasz Oryctolagus #3892 üzenetére
Akkor alakítsd át decimálissá ahogy sztanozs is írta utána már tudsz vele számolni. Aztán ha megvannak az értékek akkor visszaalakítod óra formátumra.
Azaz a 4:30 vagyis 4 és fél óra decimálisan 4.5 óra.
szerk.: Igaz, tárold csak simán a total_seconds-ot ahogy axioma írja és kész. Könnyebb is számolni vele.
[ Szerkesztve ]
Switch Tax
-
Oryctolagus
tag
válasz MasterMark #3891 üzenetére
Mi a célja ennek a formátumnak amit meg akarsz csinálni?
- azt gondoltam hogy ezzel a formatummal kepes leszek max, min es atlag idoket kiszamolni
Ez az egyetlen celom
Szoval az nem jo ha az egyik eredmeny 5.8 mert akkor pl 5.47-nel kisebb vagy nagyobb?
Ha nagyobb akkor 6.20 kellene hogy legyen vagy 6.2 de a lenyeg atjott a peldabol sztem.
Ezzel igy nem tudok szamolni, es mar itt matekolok rajta miota es mar most segitseget is kertem es nem egy grrr.(bocs)Per aspera ad astra.
-
MasterMark
titán
válasz Oryctolagus #3890 üzenetére
A kérdés az hogy azt szeretnéd hogy:
a 4 óra 30 percből 4.30 legyen vagy az hogy 4.5.szerk.: Mi a célja ennek a formátumnak amit meg akarsz csinálni? Mert nekem ebből még nem világos.
[ Szerkesztve ]
Switch Tax
-
Oryctolagus
tag
válasz MasterMark #3888 üzenetére
mit is akarok.
Innen indulok.
202111041236
202111041545ebbol a ket valtozobol szeretnem megkapni a kulonbseget
Ezutan elmentenem a csv be pl>
A B C
1 alvas 4.22 3.11 stbezutan szeretnem megkapni az
atlag
max
min
idoketPer aspera ad astra.
-
sztanozs
veterán
válasz MasterMark #3888 üzenetére
Ok;, akkor csak az elso print-ben kell cserelni a kettospontot pontra...
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz Oryctolagus #3885 üzenetére
totalseconds-ot kell hasznalni
from datetime import datetime
date_form = '%Y-%m-%d %H:%M:%S'
str_dt1 = '2022-11-28 10:32:00'
str_dt2 = '2021-10-26 15:21:00'
dt1 = datetime.strptime(str_dt1, date_form)
dt2 = datetime.strptime(str_dt2, date_form)
minus = int((dt2 - dt1).total_seconds())
perc, mperc = divmod(minus, 60)
ora, perc = divmod(perc, 60)
print(f'{ora}:{perc}')
print(f'{ora}.{perc*100//60}')[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Hege1234
addikt
válasz Oryctolagus #3885 üzenetére
gányolós megoldással valahogy így
from datetime import datetime
import re
date_form = '%Y-%m-%d %H:%M:%S'
str_dt1 = '2022-11-28 10:32:00'
str_dt2 = '2021-10-26 15:21:00'
dt1 = datetime.strptime(str_dt1, date_form)
dt2 = datetime.strptime(str_dt2, date_form)
minus = dt2 - dt1
minus_zeros = re.findall(r'(.*):', str(minus))[0].strip()
to_dot = re.sub(':', '.', minus_zeros)
minus_text = re.findall(r',.(.*)', str(to_dot))[0].strip()
print(minus_text)
#4.49szerk:
ok látom már miért nem lesz jó
hozzáírja a napot is mennyi telt el...
javítottam[ Szerkesztve ]
-
Oryctolagus
tag
válasz sztanozs #3884 üzenetére
igen.. kozben rajottem hogy nem lesz jo mas miatt is.
2022-11-28 10:32:00
2022-11-28 17:21:00
6:49:00
En azt szeretnem hogy a ket datum kulnbsege ora.perc formatumban legyen,
akkor is ha pl 2 nap es 8 perc a kulonbseg
Kivagyok ettol a datumozgatastol, persze azert mert nem ertem teljesenPer aspera ad astra.
-
sztanozs
veterán
válasz Oryctolagus #3883 üzenetére
az a baj, hogy ez szamkent nem megfelelo ertek...
6:49 != 6.49
6:49 == 6.82
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Oryctolagus
tag
válasz MasterMark #3882 üzenetére
t_time_str = str(t_time).replace(":", ".")[:-3]
vegul ez lettPer aspera ad astra.
-
MasterMark
titán
-
Oryctolagus
tag
Sziasztok!
van egy ilyes tipusu valtozom
<class 'datetime.timedelta'>
ezt szeretnem szamkent megjeleniteni
pl.:6:49 -> 6.49
ora:perc
Hogyan lehetne?
Kozben Guglizok erosen..Per aspera ad astra.
-
stellaz
veterán
Sziasztok!
Abban kérnék segítséget, hogy egy lista elemire hogyan tudom alkalmazni a kis és nagybetűkkel kapcsolatos parancsokat?
Azstr.upper()
,str.lower()
stb parancsok a lista elemire nem alkalmazhatóak a hiba kód szerint.Az lenne a feladat, hogy ha egy lista elemei között már szerepel egy betű, akkor az formátumtól függetlenül már ne kerüljön be még egyszer pl nagybetűs formában.
-
Hege1234
addikt
válasz sztanozs #3876 üzenetére
olyan esetben, ha nem lenne a
[*][*].clips[0].product.season
szám beleír egy 1-es számot
így emiatt elvileg mindennek ugyanannyinak kellene lenniede így már nem tudja sorrendbe tenni
mert ami eddig 3 részből állt így már csak kettő lett['0002']['0002', '0009']
['0002']['0002', '0010']azt gondoltam, összetéve így fogja megjeleníteni,
['0002', '0002', '0009']
vagy így[('0002', '0002', '0009')]
de ahol ugyan azok a számok vannak azokat egybetette[('0002', '0009')]
-
sztanozs
veterán
válasz Hege1234 #3875 üzenetére
Egyforma hosszu a ket lista es garantaltan sorrendben vannak?
ep_code_nums = [(str(item).zfill(4), str(item2).zfil(4)) for item,item2 in zip(x_ep_code, vid_clip_codes_sea)]
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Hege1234
addikt
-
sztanozs
veterán
válasz Hege1234 #3873 üzenetére
Ja, eleg takolosnak tunik… gondolom nem is tul gyors.
illetve amire rájöttem, hogy az egysoros for-okat nem tudom egybefűzni
ez alatt nem tudom mit erteszJOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Hege1234
addikt
sztanozs
ezt használtam hozzá:[0-9]+
köszi, átírtam a \d+ -rasikerült megoldani, de nagyon sokat kellett hozzá trükközni, hogy minden sorozatot lefedjen, mivel a listában lévő szezont se mindig töltik ki..
rövidíteni még esetleg lehetne ezen a részen?
eléggé összetákolósra sikeredett..jsonpath_expression0 = parse('[*][*]')
merged_links = []
for match0 in jsonpath_expression0.find(my_responses):
value = match0.value
value1 = parse(f'[*][*].clips[*].program.code').find(value)[0].value
vid_program = f'{value1}'
value2 = parse(f'[*][*].clips[*].id').find(value)[0].value
vid_clip_id = f'{value2}'
value3 = parse(f'[*][*].clips[*].code').find(value)[0].value
vid_clip_code = f'{value3}'
valuexx = parse(f'[*][*].clips[*].code').find(value)[0].value
vid_clip_code_filter = f'{valuexx}'
x_ep_code = re.findall(r'\d+', vid_clip_code_filter)
ep_code_nums = [str(item).zfill(4) for item in x_ep_code]
valuexx_season = parse(f'[*][*].clips[*].product.season').find(value)[0].value
vid_clip_codes_sea = f'{valuexx_season}'
vid_clip_codes_sea = re.sub('None', '1', vid_clip_codes_sea)
kk_season = [str(item2).zfill(4) for item2 in vid_clip_codes_sea]
merged_links.append(f'{kk_season}{ep_code_nums} https://www.rtlmost.hu/{vid_program}-p_{sorozat_id}/{vid_clip_code}-c_{vid_clip_id}')
merged_links.sort()
##["['0002']['0002', '0009'] https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-9-resz-c_12947039","['0002']['0002', '0010'] https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-10-resz-c_12947042"]
##findall for just links
jsonpath_expressionxx = parse('[*]')
merged_jsons3 = []
for matchxx in jsonpath_expressionxx.find(merged_links):
filter_out = matchxx.value
##['0002']['0002', '0009'] https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-9-resz-c_12947039
##['0002']['0002', '0010'] https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-10-resz-c_12947042
just_links = re.findall('(https://.*)', filter_out)[0].strip()
print(just_links)
##https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-9-resz-c_12947039
##https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-10-resz-c_12947042
merged_jsons3.append(f'{just_links}')illetve amire rájöttem, hogy az egysoros for-okat nem tudom egybefűzni
azt hogyan is kellene? -
Oryctolagus
tag
Sziasztok!
pyinstaller --onedir --windowed tool.py
hiba nelkul elvegzi amit kell
amikor az exe-re kattintok dublan, eltunik az exe fajl
feltetelezem az virusirto miatt
hogyan lehet ezt elkerulni
probaltam a kivetlekhez adni a mappat/file-t de no effect
Per aspera ad astra.
-
kovisoft
őstag
válasz Hege1234 #3868 üzenetére
Őszintén szólva kezdem elveszteni a fonalat , de igen, valami olyasmire gondoltam, mint az rjust() rész, amit írsz. A lényeg az, hogy ha ugyanannyi számjegyből állnak a számaid, akkor a string (azaz ábécé szerinti) rendezés ugyanazt a sorrendet adja, mint a számok nagyság szerinti rendezése.
Amúgy biztos, hogy jó az a regex2? Nem inkább [1-9][0-9]* kellene [1-9]*[0-9] helyett? Mert az utóbbi azt jelenti, hogy csak az utolsó számjegy lehet 0 és 9 közötti, a többi 1 és 9 közötti. Szerintem inkább az kellene, hogy az első számjegy 1 és 9 közötti, a többi 0 és 9 közötti. Persze az egésznek csak 3 vagy több jegyű számoknál van jelentősége, season és episode meg nem szokott akkora lenni.
-
Hege1234
addikt
válasz kovisoft #3867 üzenetére
köszi a részletezést!
vagyis akkor én fókuszáltam rossz felé mert tartalmaz ilyen részeket
csak arra koncentráltam, hogy a linkekhez kiszedjem az adatokat..
[kép]
vagyis akkor ezeket kellene feltöltenem nullkkal és a következő lépésben felhasználnom a sorbatételhez?[*][*].clips[0].product.season
[*][*].clips[0].product.episodea szezonban lévő számot kiegészítem az S betűvel
az epizódot pedig E-vel
így valami hasonlót kellene használnom hozzá amit disney-nél is használtam?regex2 = r'S([1-9]*[0-9])\s?E([1-9]*[0-9]):?'
def replacer2(y):
a, b = y.groups()
return 'S' + a.rjust(2, '0') + 'E' + b.rjust(2, '0')S02E05
[ Szerkesztve ]
-
kovisoft
őstag
válasz Hege1234 #3866 üzenetére
Ha teljesen random stringek lehetnek, és azt sem lehet tudni, hogy hány darab szám jellegű rész van bennük és azok hol helyezkednek el a stringen belül, akkor én hagynám a replace() és társait, és inkább valami ilyesmit csinálnék:
- feldarabolnám egy listába az adott stringet olyan részekre, amikben vagy minden karakter csupa számjegy, vagy minden karakter csupa nem-számjegy
- a nem-számjegy elemeket békén hagynám
- a csupa számjegyből álló elemeket kiegészíteném balról nullákkal úgy, hogy a teljes szám hossza valami fix érték legyen (pl. ha nincsenek 10 számjegynél hosszabb számok, akkor legyen minden szám 10 jegyű)
- ebből a listából visszaépítenék egy stringet
- az így kapott string alapján rendezném a stringjeimet, itt már nem lenne gond a rendezéssel, hiszen minden szám ugyanannyi jegyű, tehát a lexikografikus rendezés egyúttal nagyságrendi rendezést is jelentNem tudok olyan egyszerű split() hívást, ami a fenti darabolást elvégezné, úgyhogy szerintem erre kellene írni egy ciklust, ami számjegy/nem-számjegy mentén vágna. A visszaépítés már csak egy join() lesz.
-
Hege1234
addikt
válasz kovisoft #3865 üzenetére
köszi, a ValueError nagyon jól jött
így már a "randomok" benne
szépen a végére kerülneka sorba rendezett id-kat elkezdtem requests-el kibontogatni
amiből összeillesztem az évadban lévő linkeketegy részlet belőle, mert túl hosszú lenne a hsz. az összes részt betenni ide
['https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-169-resz-c_12873171','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-17-resz-c_12873019','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-170-resz-c_12873172','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-171-resz-c_12873173','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-178-resz-c_12873180','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-179-resz-c_12873181','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-18-resz-c_12873020','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-180-resz-c_12873182','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-181-resz-c_12873183','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-182-resz-c_12873184','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-183-resz-c_12873185','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-19-resz-c_12873021','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-1-resz-c_12947030','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-10-resz-c_12947042','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-100-resz-c_12947296','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-101-resz-c_12947344','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-109-resz-c_12947352','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-11-resz-c_12947046','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-110-resz-c_12947353','https://www.rtlmost.hu/elif-a-szeretet-utjan-p_8201/elif-2-evad-111-resz-c_12947354']
mivel pár sorozatnál az évadon belül sem figyeltek a sorrendre
ezért listába tettem a linkeket és simán a.sort()
-ot használtam hozzá
mivel a linkek miatt a sort_key-es replace nem tud működni, mit lehetne helyette használni,
hogy az egyjegyű, többjegyű számok ne borítsák meg a sorrendet? -
kovisoft
őstag
válasz Hege1234 #3864 üzenetére
Azt ugye neked kellene valahogy eldöntened, hogy az ilyen (és egyéb) kivételes eseteket hogyan szeretnéd rendezni, és ehhez idomítani a sort_key() függvényt. A ValueError lekezelése szerintem jó ötlet. Ha pl. azt szeretnéd, hogy a kivételek a végére kerüljenek, akkor érdemes a sort_key() visszatérési értékében a listát mondjuk egy 0-val kezdeni, ha tudta int-ként értelmezni, és 1-gyel kezdeni, ha nem tudta (és ilyenkor mögé tenni az eredeti stringet).
Pl. egy lehetséges megoldás:def sort_key(s):
x=s.replace('.',' ').replace('-',' ').split()
try:
return [0, int(x[0]),int(x[2])]
except ValueError:
return [1, s] -
Hege1234
addikt
kovisoft
köszönöm szépen, szuperül működik!egy másik sorozaton átfuttatva is
[
'1. évad 1-15. rész - 26013',
'1. évad 16-30. rész - 26265',
'1. évad 31-45. rész - 26267',
'1. évad 46-60. rész - 26269',
'1. évad 61-75. rész - 26271',
'1. évad 76-83. rész - 26273',
'2. évad 1-15. rész - 28357',
'2. évad 16-30. rész - 28486',
'2. évad 31-45. rész - 28487',
'2. évad 46-60. rész - 28488',
'2. évad 61-68. rész - 28879',
'3. évad 1-15. rész - 29457',
'3. évad 16-30. rész - 29652',
'3. évad 31-45. rész - 29750',
'3. évad 46-60. rész - 29895',
'3. évad 61-75. rész - 30050',
'3. évad 76-81. rész - 30172',
'4. évad - 30793'
]amúgy persze, hogy elvétve egy-egy listában akár mondatokat, dátumokat is beleírkálnak abba a részbe
ilyen esetben merre kellene elindulnom?ez a mondat
"Nézd vissza a tévés adás után!"
a legutolsót jelenti
a keletkezett ValueError jelenthetné, hogy ezt tegye a végére vagy, hogy ne foglalkozzon vele?eredeti:
['7. évad - 31592', 'Nézd vissza a tévés adás után! - 26057', '6. évad - 28482', '5. évad - 24711', '4. évad - 19457', '3. évad - 13455', '2. évad - 8298', '1. évad - 8617']
def_sort_key:
# x kiprintelve
['7', 'évad', '31592']
['Nézd', 'vissza', 'a', 'tévés', 'adás', 'után!', '26057']
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\@\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
File "I:\rtl_extract\rtl.py", line 2505, in rtlmost_check
merged_jsons_title.sort(key=sort_key)
File "I:\rtl_extract\rtl.py", line 2488, in sort_key
return [int(x[0]),int(x[2])]
ValueError: invalid literal for int() with base 10: 'Nézd'[
'7. évad - 31592',
'Nézd vissza a tévés adás után! - 26057',
'6. évad - 28482',
'5. évad - 24711',
'4. évad - 19457',
'3. évad - 13455',
'2. évad - 8298',
'1. évad - 8617'
]itt ennél agyfa@ kaptam
['201-300. rész - 30837','101-200. rész - 30650','1-100. rész - 30440','2021. július - 28075','2021. június - 27910','2020. november - 25179','2020. október - 24793','2020. szeptember - 24257',]
-
kovisoft
őstag
válasz Hege1234 #3862 üzenetére
Írj egy függvényt, ami generál egy kulcsot a rendezéshez, és ezt add meg a sort()-nak. A függvény pl. csinálhatja azt, hogy szétdobja az adott stringet szóközök mentén, veszi az első és harmadik oszlopot integerként, és ebből generálja a kulcsot. Itt egy példa, ez a szétdobás előtt lecseréli a . és - karaktereket szóközre:
def sort_key(s):
x=s.replace('.',' ').replace('-',' ').split()
return [int(x[0]),int(x[2])]
És ezt a függvényt add meg a sort()-nak:merged_jsons_title.sort(key=sort_key)
-
Hege1234
addikt
olyankor amikor a .sort() nem elegendő
hogyan lehetne egy kicsit még tovább finomhangolni rajta?így kellene lennie:
(amit a .sort() majdnem meg is oldott)[
'1. évad 1-50. rész - 27895',
'1. évad 51-100. rész - 27896',
'1. évad 101-150. rész - 27897',
'1. évad 151-183. rész - 27898',
'2. évad 1-100. rész - 30456',
'2. évad 101-200. rész - 30457',
'2. évad 201-230. rész - 30458'
]print('\neredeti:')
jsonpath_expression0 = parse('program_subcats[*]')
merged_jsons_title_orig = []
for match in jsonpath_expression0.find(response):
value = match.value
value1 = parse(f'title').find(value)[0].value
ser_cat_title = f'{value1}'
value2 = parse(f'id').find(value)[0].value
ser_cat_id = f'{value2}'
merged_jsons_title_orig.append(f'{ser_cat_title} - {ser_cat_id}')
print(merged_jsons_title_orig)eredeti:
[
'2. évad 1-100. rész - 30456',
'2. évad 101-200. rész - 30457',
'2. évad 201-230. rész - 30458',
'1. évad 1-50. rész - 27895',
'1. évad 51-100. rész - 27896',
'1. évad 101-150. rész - 27897',
'1. évad 151-183. rész - 27898'
]print('\nsorted:')
jsonpath_expression0 = parse('program_subcats[*]')
merged_jsons_title = []
for match in jsonpath_expression0.find(response):
value = match.value
value1 = parse(f'title').find(value)[0].value
ser_cat_title = f'{value1}'
value2 = parse(f'id').find(value)[0].value
ser_cat_id = f'{value2}'
merged_jsons_title.append(f'{ser_cat_title} - {ser_cat_id}')
merged_jsons_title.sort()
print(merged_jsons_title)sorted:
[
'1. évad 1-50. rész - 27895',
'1. évad 101-150. rész - 27897',
'1. évad 151-183. rész - 27898',
'1. évad 51-100. rész - 27896',
'2. évad 1-100. rész - 30456',
'2. évad 101-200. rész - 30457',
'2. évad 201-230. rész - 30458'
] -
Hege1234
addikt
válasz justmemory #3858 üzenetére
threading-et még nem használtam
az itt lévő utolsó minta alapján próbálkoztam, de így is csak akkor fut tovább, ha eltűnt a notif
(persze az is benne van, hogy nem is jól értettem meg a threading használatát )import threading
import os
def task1():
print("Task 1 assigned to thread: {}".format(threading.current_thread().name))
print("ID of process running task 1: {}".format(os.getpid()))
def task2():
import PySimpleGUI as sg
menu02a = 'HandBrakeCLI'
output = 'testfile.mkv'
tray = sg.SystemTray()
tray.notify(menu02a, output+'\n re-encode kész!', fade_in_duration=200, display_duration_in_ms=3000, alpha=2)
if __name__ == "__main__":
# creating threads
t1 = threading.Thread(target=task1, name='t1')
t2 = threading.Thread(target=task2, name='t2')
# starting threads
t1.start()
t2.start()
# wait until all threads finish
t1.join()
t2.join()
print('encode kész\n felugró notif közbe látszódik ez is')
next = input('\n és ez is') -
Hege1234
addikt
sziasztok!
a HandBrakeCLI-vel az mkv encode befejezést követően felugrik egy befejezve szöveg
kb 10 mp..
ez a része jól működik, ami a "probléma", hogy addig a 10 másodpercig
a py fájl nem fut tovább csak miután eltűnik a notifimport PySimpleGUI as sg
menu02a = 'HandBrakeCLI'
output = 'testfile.mkv'
tray = sg.SystemTray()
tray.notify(menu02a, output+'\n re-encode kész!', fade_in_duration=200, display_duration_in_ms=3000, alpha=2)ezt át lehetne esetleg úgy alakítani, hogy megmaradjon a 10 mp de eközben a python kód is tovább futhatna?
[ Szerkesztve ]
-
Dánkas
csendes újonc
Kitöltenétek [link] ? Az első kérdés nem hiba, inkább olyan "beugratós".
-
-
kovisoft
őstag
válasz #97623552 #3853 üzenetére
Az még a probléma, hogy a kep1 és kep2 változóid csak szimpla lokális változóként vannak felvéve, ezért amikor a button_clicked() függvényből kilép, akkor azok meg is szűnnek létezni, és így a betöltött képek azonnal ki is dobódnak, nem tudnak megjelenni a vásznon.
Ami változókat meg akarsz őrizni, azokat szintén class memberváltozóként kellene felvenni. Jelen esetben tippre talán elég annyi, ha a kep1 és kep2 helyett self.kep1 és self.kep2-t írsz.
-
#97623552
törölt tag
Szerenék kérni egy kis segítséget. Szeretnék egy kő-papír-olló játékot csinálni. Első lépésként a képeket próbálom kitenni, de nem látja a canvast a függvényből. Miért?
import tkinter as tk
from tkinter import ttk
import random
from tkinter.messagebox import showinfo
class App(tk.Tk):
def __init__(self):
super().__init__()
# configure the root window
self.title('Teszt program 1')
self.geometry('1280x720')
# label
self.label = ttk.Label(self, text='Hello, Tkinter!')
self.label.pack()
# button
self.gomb = ttk.Button(self, text='Start!')
self.gomb['command'] = self.button_clicked
self.gomb.pack()
# vaszon
self.vaszon = tk.Canvas(self, width=1000, height=600, bg='white')
self.vaszon.pack(anchor=tk.CENTER, expand=True)
def button_clicked(self):
global vaszon
showinfo(title='Information', message='Hello, Tkinter!')
#vaszon.delete('all')
gep = random.randint(0, 2)
gep_kep = str(gep) + ".png"
jatekos = random.randint(0, 2)
jatekos_kep = str(gep) + ".png"
kep1 = tk.PhotoImage(file=gep_kep)
vaszon.create_image(
(100, 100),
image=kep1
)
kep2 = tk.PhotoImage(file=jatekos_kep)
vaszon.create_image(
(500, 100),
image=kep2
)
print(gep_kep)
print(jatekos_kep)
if __name__ == "__main__":
app = App()
app.mainloop() -
cousin333
addikt
válasz Siriusb #3846 üzenetére
Konkrét megoldásom nincsen, de én a diff előtt kicsit átdolgoznám az adatsort:
- legyen az index a dátum oszlop
- elrendezem az adatokat a groupby és/vagy asfreq metódusokkal (havi bontásban)Ezután mehet a diff, amikor már minden hónapra van pontosan egy értékem (ami lehet 0 is). Nem mondom, hogy ez a tuti megoldás, de én itt keresgélnék.
"We spared no expense"
-
-
Ebbol a brazil csapatbol tan 2 embert tudnek mondani, aki nem antipatikus...
https://www.coreinfinity.tech
-
Siriusb
veterán
Pandas dataframe esetén mi lenne a jó megközelítés, ha a különbséget szeretném megkapni egy új oszlopban .apply-jal. Pl. van 3 oszlop:
kenyér 2022-01 10
zsemle 2022-01 9
kenyér 2022-02 15
zsemle 2022-02 13Szeretném a zsemlénél és a kenyérnél a 3. oszlopban lévő darabszámok alapján látni az előző hónaphoz viszonyított különbséget.
A .diff a periods-szel talán még jó is lenne, de mi van, ha egyik hónapban egy tétel éppen hiányzik?Ha túl bonyolult lenne, ne pazaroljátok rá az időtöket.
-
Flettel szorakozik itt vki?
https://www.coreinfinity.tech
-
sztanozs
veterán
válasz sztanozs #3841 üzenetére
out = f'{value1} - S{value2}E{value3} |{kek+["nincs","van"][value6]} Magyar szinkron|{zold+"|Magyar felirat|"*value5}{sarga+"|Magyar forced|"*value7+feher}{sarga+"|Magyar forced|"*value7+feher}{"|"+value8+"|"} {value4}'
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz Hege1234 #3840 üzenetére
>>> value6=True
>>> f"{['nincs','van'][value6]} Magyar szinkron"
'van Magyar szinkron'
>>> value6=False
>>> f"{['nincs','van'][value6]} Magyar szinkron"
'nincs Magyar szinkron'
igy egyben:
out = f'{value1} - S{value2}E{value3} |{kek+["nincs","van"][value6]} Magyar szinkron|
{zold+"|Magyar felirat|"*value5}{sarga+"|Magyar forced|"*value7+feher}{sarga+"|Magyar forced|"*value7+feher}{"|"+value8+"|"} {value4}'[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Hege1234
addikt
válasz sztanozs #3839 üzenetére
ahogy néztem a renditionName-ben mindenhol a Magyar jelenti a magyar feliratot
a forced-et pedig a hu--forced--
emiatt sikerült külön szedniThe Walking Dead - S11E12 |Magyar szinkron||HD| A szerencsések
The Walking Dead - S11E13 |Magyar szinkron||Magyar forced||HD| Hadurak
The Walking Dead - S11E14 |Magyar szinkron||Magyar felirat||Magyar forced||HD| Fejétől bűzlikregex2 = r'S([1-9]*[0-9])\s?E([1-9]*[0-9]):?'
def replacer2(y):
a, b = y.groups()
return 'S' + a.rjust(2, '0') + 'E' + b.rjust(2, '0')
jsonpath_expression0 = parse('[*].data.DmcEpisodes.videos[*]')
for match0 in jsonpath_expression0.find(my_responses):
value = match0.value
value1 = parse(f'text.title.full.series.default.content').find(value)[0].value
value2 = parse(f'seasonSequenceNumber').find(value)[0].value
value3 = parse(f'episodeSequenceNumber').find(value)[0].value
value4 = parse(f'text.title.full.program.default.content').find(value)[0].value
list5 = parse(f'mediaMetadata.captions[*].renditionName').find(value)
value5 = any(a.value.lower().split()[0] in "magyar" for a in list5)
list6 = parse(f'mediaMetadata.audioTracks[*].renditionName').find(value)
value6 = any(b.value.lower().split()[0] in "magyar" for b in list6)
list7 = parse(f'mediaMetadata.captions[*].renditionName').find(value)
value7 = any(c.value.lower().split()[0] in "hu--forced--" for c in list7)
value8 = parse(f'mediaMetadata.format').find(value)[0].value
out = f'{value1} - S{value2}E{value3} {kek+"|Magyar szinkron|"*value6}{zold+"|Magyar felirat|"*value5}{sarga+"|Magyar forced|"*value7+feher}{"|"+value8+"|"} {value4}'
final_out = re.sub(regex2, replacer2, out)
print(final_out)nagyon szépen köszönöm
sok újdonságot tanultamegy kérdésem lenne még f-string -el kapcsolatban
próbáltam megadni, ha nincsen pl. Magyar szinkron akkor is írjon oda valamit{"|van Magyar szinkron|"*value6 if *value6 not in *value6 "|nincs Magyar szinkron|"}
vagy ezt az any hoz kellene beleírni?
-
sztanozs
veterán
válasz Hege1234 #3838 üzenetére
value5 = any(a.value.lower().split()[0] in "hunmagyar" for a in list5)
persze ez meg mindig nem talaja meg a forced - hun es ehhez hasonlo dolgokat (ahol nem az elso szo a hu vagy hun vagy magyar
esetlegvalue5 = any(any("hunmagyar".__contains__, a.value.lower().split()) for a in list5)
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Hege1234
addikt
válasz sztanozs #3837 üzenetére
így ezt adja vissza:
Traceback (most recent call last):
File "D:\json extract\test2.py", line 89, in <module>
value5 = any(a.value.lower().split()in("hunmagyar")for a in list5)
File "D:\json extract\test2.py", line 89, in <genexpr>
value5 = any(a.value.lower().split()in("hunmagyar")for a in list5)
TypeError: 'in <string>' requires string as left operand, not list -
sztanozs
veterán
válasz sztanozs #3832 üzenetére
Nem tudtam mar letesztelni, vsz a maradek jsont adja vissza, igy esetleg?
jsonpath_expression0 = parse('[*].data.DmcEpisodes.videos[*]')
for match0 in jsonpath_expression0.find(myresponses):
value = match0.value
value1 = parse(f'text.title.full.series.default.content').find(value)[0].value
value2 = parse(f'seasonSequenceNumber').find(value)[0].value
value3 = parse(f'episodeSequenceNumber').find(value)[0].value
value4 = parse(f'text.title.full.program.default.content').find(value)[0].value
list5 = parse(f'mediaMetadata.captions[*].renditionName').find(value)
value5 = any(a.value.lower().split()in("hunmagyar")for a in list5)
print(f'{value1} - S{value2}E{value3} - {value4}{" |Magyar felirat|"*value5}')
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
stellaz
veterán
sziasztok
szeretnék segítséget kérni
tanulgatom a pythont és az egyik sulipy-on megadott feladatnál elakadtam"Készíts egy programot, amely egymásba ágyazott ciklusok segítségével rajzolja ki egy 5 x 5-ös mezőben az alábbi alakzatot!"
O . . . .
. O . . .
. . O . .
. . . O .
. . . . OÉn eddig eljutottam, de innen nem tudom, hogyan tovább
sor = 1
while sor <= 5:
oszlop = 1
while oszlop <= 5:
print('O ', end="")
oszlop = oszlop + 1
print('')
sor = sor + 1
[ Szerkesztve ]
-
Hege1234
addikt
válasz sztanozs #3832 üzenetére
keyerror hibát ír,
Traceback (most recent call last):
File "D:\json extract\test.py", line 141, in <module>
value1 = parse(f'{full_path}.text.title.full.series.default.content').find(value)[0].value
File "C:\Users\hadam\AppData\Local\Programs\Python\Python310\lib\site-packages\jsonpath_ng\jsonpath.py", line 265, in find
for subdata in self.left.find(datum)
File "C:\Users\hadam\AppData\Local\Programs\Python\Python310\lib\site-packages\jsonpath_ng\jsonpath.py", line 265, in find
for subdata in self.left.find(datum)
File "C:\Users\hadam\AppData\Local\Programs\Python\Python310\lib\site-packages\jsonpath_ng\jsonpath.py", line 265, in find
for subdata in self.left.find(datum)
[Previous line repeated 7 more times]
File "C:\Users\hadam\AppData\Local\Programs\Python\Python310\lib\site-packages\jsonpath_ng\jsonpath.py", line 613, in find
return self._find_base(datum, create=False)
File "C:\Users\hadam\AppData\Local\Programs\Python\Python310\lib\site-packages\jsonpath_ng\jsonpath.py", line 625, in _find_base
return [DatumInContext(datum.value[self.index], path=self, context=datum)]
KeyError: 0
de ez jót jelenthet mert az s01e01 -ben valóban nincsen magyar feliratszerk:
(kiprinteltem, hogy lássam mit szed össze)
[kép]
vagy rögtön elakadt az 1. résznél?[ Szerkesztve ]
-
sztanozs
veterán
Ez esetleg?
jsonpath_expression0 = parse('[*].data.DmcEpisodes.videos[*]')
for match0 in jsonpath_expression0.find(myresponses):
full_path=str(match0.full_path)
value = match0.value
value1 = parse(f'{full_path}.text.title.full.series.default.content').find(value)[0].value
value2 = parse(f'{full_path}.seasonSequenceNumber').find(value)[0].value
value3 = parse(f'{full_path}.episodeSequenceNumber').find(value)[0].value
value4 = parse(f'{full_path}.text.title.full.program.default.content').find(value)[0].value
list5 = parse(f'{full_path}.mediaMetadata.captions[*].renditionName').find(value)
value5 = any(a.value.lower()in("hunmagyar")for a in list5)
print(f'{value1} - S{value2}E{value3} - {value4}{" |Magyar felirat|"*value5}')JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz Hege1234 #3830 üzenetére
A gond az, hogy a find nem kötegek, hanem visszaadja sorban az összes találatot:
>>> len(match5)
4531
>>> len(match4)
177
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz Hege1234 #3826 üzenetére
Dobj fel valahova egy json forrast, este megprobalok ranezni.
mod1: btw az
in (*args)
csak pontos talaltra ad eredmenyt, nem regex.
mod2: a in("dsfgdfgh") szetszedi a sztringet, tehat valojaban ezt csinalja:in("d","s","f","g","d","f","g","h")
bar, ahogy nezem 3.10 mintha mashogy csinalna...
esetleg ez:{zold+" |Magyar felirat|"*any(a.lower().split()[0]in"hunmagyar"for a in match5.value)}
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Hege1234
addikt
válasz sztanozs #3825 üzenetére
hmm valamiért közbe-közbe kihagyva írja oda
pl.
The Walking Dead - S11E22 - Hitfor match1,match2,match3,match4,match5 in zip(jsonpath_expression1.find(my_responses),jsonpath_expression2.find(my_responses),jsonpath_expression3.find(my_responses),jsonpath_expression4.find(my_responses),jsonpath_expression5.find(my_responses)):
print(f'{match1.value} - S{match2.value}E{match3.value} - {match4.value}{zold+" |Magyar felirat|"*any(a.lower()in("magyar")for a in match5.value)}')
epizod = my_responses[10]['data']['DmcEpisodes']['videos'][21]['text']['title']['slug']['program']['default']['content']
felirat = my_responses[10]['data']['DmcEpisodes']['videos'][21]['mediaMetadata']['captions'][21]['renditionName']
print('\n'+epizod+' - '+felirat)
#hit - Magyarkülön kiprintelve mutatja, hogy a hit részhez is lenne magyar felirat
[kép]próbáltam úgy is, ahogy írtad
("hu","hun","magyar")
de így egy találat se voltami még fura, hogy akkor is van találat, ha valami random betűket írok bele
{zold+" |Magyar felirat|"*any(a.lower()in("dsfgdfgh")for a in match5.value)}
ilyenkor ezeket találja meg:
[kép] -
sztanozs
veterán
válasz Hege1234 #3823 üzenetére
for match1,match2,match3,match4,match5 in zip(jsonpath_expression1.find(my_responses),jsonpath_expression2.find(my_responses),jsonpath_expression3.find(my_responses),jsonpath_expression4.find(my_responses),jsonpath_expression5.find(my_responses))):
print(f'{match1.value} - S{match2.value}E{match3.value} - {match4.value}{" - Magyar"*any(a.lower()in("hu","hun","magyar")for a in match5.value)}')[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Hege1234
addikt
huhh ez a zip-es megoldás nagyon jó
köszönöm, tökéletesen működikamire még kíváncsi lennék, hogy mivel a 177 részből csak 155 -höz van magyar felirat
jsonpath_expression5 = parse('[*].data.DmcEpisodes.videos[*].mediaMetadata.captions[*].renditionName')
ebben általában van 20-30 adat
pl.
Japanese
de--forced--
Magyar
Chinese (Traditional)
Español (Latinoamericano)nekem innen csak akkor kell, ha valamelyik sorban szerepel benne a Magyar
erre esetleg rá tudok szűrni és egybegyúrni a zip-es megoldással?
így jól látható lenne melyik részhez van/nincs magyar feliratfor match1,match2,match3,match4,match5 in zip(jsonpath_expression1.find(my_responses),jsonpath_expression2.find(my_responses),jsonpath_expression3.find(my_responses),jsonpath_expression4.find(my_responses),jsonpath_expression5.find(my_responses)):
print(f'{match1.value} - S{match2.value}E{match3.value} - {match4.value} --- {match5.value}') -
axioma
veterán
válasz Hege1234 #3821 üzenetére
Legyen
list1=list(jsonpath_expression1.find(my_responses))
es a tobbit hasonloan, majd for ciklussal index szerint egyszerre veszed ki oket es printeled.
Mobilrol ennyi, ha kell kesobb tudok teljes kodot.hm, vagy berakod zip-pel egy iteratorba, az elegansabb (tordeld szebbre, es nem probaltam ki de elvben kb igy kene kineznie)
for match1,match2,match3,match4 in zip(jsonpath_expression1.find(my_responses),jsonpath_expression2.find(my_responses),jsonpath_expression3.find(my_responses),jsonpath_expression4.find(my_responses))):
print(f'{match1.value} - S{match2.value}E{match3.value} - {match4.value}')[ Szerkesztve ]
-
Hege1234
addikt
egy listában lévő 11 link adata kerül egy nagyobb listába..
az alsó 4 for részt, hogyan lehetne átírni, hogy ne csak a legutolsó adatot tudjam kiprintelni hanem az egészet?
(összesen 177 epizód van benne)from jsonpath_ng.ext import parse
import requests
import json
my_responses = []
for lnk in merged_jsons:
payload = requests.get(lnk).json()
my_responses.append(payload)
print(my_responses, file=open("all.json", "w", encoding="utf-8"))
jsonpath_expression1 = parse('[*].data.DmcEpisodes.videos[*].text.title.full.series.default.content')
jsonpath_expression2 = parse('[*].data.DmcEpisodes.videos[*].seasonSequenceNumber')
jsonpath_expression3 = parse('[*].data.DmcEpisodes.videos[*].episodeSequenceNumber')
jsonpath_expression4 = parse('[*].data.DmcEpisodes.videos[*].text.title.full.program.default.content')
for match1 in jsonpath_expression1.find(my_responses):
ser_name = match1.value
for match2 in jsonpath_expression2.find(my_responses):
ser_num = match2.value
for match3 in jsonpath_expression3.find(my_responses):
ep_num = match3.value
for match4 in jsonpath_expression4.find(my_responses):
ep_title = match4.value
print(f'{ser_name} - S{ser_num}E{ep_num} - {ep_title}')
#The Walking Dead - S11E24 - Nyugodjék békében#3816 sztanozs
köszi át is írtam[ Szerkesztve ]
-
-
kovisoft
őstag
válasz olivera88 #3817 üzenetére
Múltkor azt írtad, hogy nem értem, amit írtál, pedig szerintem te nem érted, amit én írok. Nem azt mondom, hogy mivel tudod, hogy melyik fájlban mennyi mező van, ezért állítsd be kézzel az n változót mindig arra az adott értékre. Ennek nyilván semmi értelme. Hanem azt mondom, hogy a fájlból egy megfelelő függvényhívással kérd le programból, hogy hány mezőt tartalmaz, ez kerüljön az n-be.
Sajnos konkrét példaprogrammal nem tudok szolgálni, mert nem ismerem a Magics-et. Csak a doksijában próbáltam keresgélni, de ez alapján nem volt egyértelmű számomra, hogy milyen függvényhívással lehetne lekérni egy adott fájl mezőinek a számát. A tippjeimet leírtam a korábbi hozzászólásaimban.
Ezért írtam alternatív megoldásként, hogy esetleg addig olvasd egymás után a mezőket, amíg egy olyan exceptiont nem kapsz, ami arra utal, hogy olyan sorszámú mező már nincs a fájlban. Viszont ha ilyenkor nem dob exceptiont, és semmilyen más módon sem jelzi a hibás mezőszámot, akkor ez nem járható út.
-
olivera88
veterán
válasz kovisoft #3810 üzenetére
"A linkelt oldalon van egy példa, amiben egy n változót használ arra, hogy meddig menjen."
Azt tudom h meddig kell h menjen, nem ez volt a kérdés, hanem h ne kelljen mindig átírni h meddig menjem, mert nem minden fájlban ugyanannyi mező van, van hogy 102 ig kell h menjen, az 12z futásnál viszont már 114 ig, és ezt mindig át kell írnom a scriptbe, arra kerestem megoldást ami automatikusan max számig el megy, tehát ne nekem kelljen megadni h 102, 114, 72, hanem magátol menjen addig attól függően h mennyi mező van a fájlba.
Lehetne állandóan ugyanaz a szám is ameddig el megy minden futásnál, csak akkor üres térképeket fog generálni, a program hibája elvileg, h nem áll meg ha már nincs több mező, hanem tovább és üres térképet generál.LG Velvet 5G Android 11 - Windows 10 Pro x64 & Debian 11 Bullseye - WoWS unsinkable_sam_
-
Hege1234
addikt
üdv,
egy log fájlba folyamatosan íródnak adatok
115 x 2 másodpercenként keresi a linket majd leáll
ez jól is működik, de csak akkor, ha a findall-ban nincsen | ORattempts = 115
while attempts > 0:
try:
tdata2 = open("log.0").read()
linkek = re.findall(r"E/nsHttp.uri=(https://.*v.mp4)|E/nsHttp.uri=(.*master.m3u8.*)|E/nsHttp.*uri=(https://vid.*md5.*expires.*)", tdata2)
linkek = linkek[0].strip()
print(linkek, file=open("videolink.txt", "w", encoding="utf-8"))
except IndexError:
attempts -= 1
time.sleep(2)
continue
except:
print('')
breakszeretnék egyszerre több regex-re is szűrni
de így már egy nagyon fura listát csinál a findall
amiből nem tudom kiszedni a linket[
('',
'https://.........',
''),
('',
'https://.........',
'')
]az, hogy hol lesz a link az a regex találattól függ
[('','link','')]
az lenne a kérdésem, ha nem a findall akkor mit tudnék hozzá használni
vagy én bonyolítom túl és a listában lévő link/linkek simán kiszedhetőek? -
kovisoft
őstag
válasz kovisoft #3810 üzenetére
Próbáltam olyan példaprogramot keresni, ahol ez a két dolog egybe van gyúrva, de sajnos nem találok ilyet. Talán a codes_grib_iterator vagy codes_keys_iterator használható valahogy.
De ha ezzel nem jutsz előrébb, akkor próbáld ki azt, hogy mi történik, ha túl nagy grib_field_position-t adsz meg. Valószínűleg ilyenkor kapsz valamilyen exceptiont. Ezt az exceptiont elkaphatod és arra használhatod, hogy kilépj a ciklusból. A ciklus maga meg legyen végtelen vagy menjen valami nagy számig.
-
válasz scope2007 #3802 üzenetére
Bugos: a ciklusban levo ket print mindenkeppen lefut elso futtataskor es nagyon zavaro.
>>> szamok = []
>>> db = 0
>>> bevetel = int(input("Kérlek add meg a cég bevételét [FT] összegben: "))
Kérlek add meg a cég bevételét [FT] összegben: -1000
>>> while bevetel != 0 and db < 1000 :
... szamok.append(bevetel)
... db = db+1
... bevetel = int(input("Kérlek add meg a következő bevételt: "))
... print()
... print("Az adatfeltöltésnek vége, mert maximum 1000 elem lehet a listában, vagy mert nullát nyomtál")
...
Kérlek add meg a következő bevételt: -2000
Az adatfeltöltésnek vége, mert maximum 1000 elem lehet a listában, vagy mert nullát nyomtál
Kérlek add meg a következő bevételt: 0
Az adatfeltöltésnek vége, mert maximum 1000 elem lehet a listában, vagy mert nullát nyomtál
>>> print("A bevételi lista elemeinek az összege: ", sum(szamok), "FT.")
A bevételi lista elemeinek az összege: -3000 FT.
[ Szerkesztve ]
https://www.coreinfinity.tech
-
kovisoft
őstag
válasz olivera88 #3809 üzenetére
Pedig szerintem értettem, hogy mire irányult a kérdésed. A linkelt oldalon van egy példa, amiben egy n változót használ arra, hogy meddig menjen. Ebbe az n változóba kell a ciklus előtt beletenni azt az értéket, amennyi mező van az adott file-ban. Ezt pedig az idézett megjegyzés szerint a grib_count adja meg. De mindezt úgy mondom, hogy ténylegesen nem ismerem az adott csomagot.
Alternatív megoldásként azt is el tudom képzelni, hogy ha valami hibával tér vissza az mgrib() függvény abban az esetben, amikor túl nagy grib_field_position van neki átadva, akkor ezt a hibát is el lehet kapni, és akkor kilépni a ciklusból. Ebben az esetben a ciklus maga lehet egy végtelen ciklus.
-
olivera88
veterán
válasz kovisoft #3808 üzenetére
Arról igen. Hogy találtad el
Nem értetted amit szerettem volna, azt tudom mennyi mező van egy grib fájlban, az a gond h mindig át kell írkálni a scriptben, ezért kellene olyasmi ami mindig utsó számig megy. Éjféli futás esetén 102 egyes paramétereknél, a 06 futásnál 72 előbb említett paraméternél, aztán 12 es futásnál 114.LG Velvet 5G Android 11 - Windows 10 Pro x64 & Debian 11 Bullseye - WoWS unsinkable_sam_
-
kovisoft
őstag
válasz olivera88 #3806 üzenetére
Ha a Magics-ről van szó, akkor ezen az oldalon azt írja, hogy:
"To know the number of fields in your grib files, you can use the tool grib_count of the ecCodes package."
-
olivera88
veterán
Erre ciklusra lehetne olyan opciót csinálni h második szám helyett valami olyan legyen ami automatikusan legnagyobb számig megy?
Azért lenne szükségem ilyenre mert nem mindig ugyannanyi számú mező van fájlban. Van hogy csak 13 ig kell h menjen, van h 18 ig, és van h 20. És ezért mindig át kell írkálni a második számot.
actions = []
# n is the number of fields in the fieldset
for i in range(1, 18) :
#definition of the input data
precip = mgrib(grib_input_file_name="/home/oliver/grib/ARPEGE/ARPEGETP_6H.grib2",
grib_field_position = i,LG Velvet 5G Android 11 - Windows 10 Pro x64 & Debian 11 Bullseye - WoWS unsinkable_sam_
-
axioma
veterán
válasz scope2007 #3804 üzenetére
OK, a bekeres reszt irdd at, mert igy ugye fix a darabszam is es me'g konkret evhez is kell kerned a szamot. Utana, ha me'g igy se vilagos a kovetkezo lepes, mutass megint kodot, es hogy mi az amit meg akarsz oldani es nem megy.
Nyilvan nekem is gyorsabb lenne kesz kodot bedobni, de hazit nem csinalunk meg, max. ravezetunk... -
scope2007
addikt
eddig megvan:
szamok = []
db = 0
bevetel = int(input("Kérlek add meg a cég bevételét [FT] összegben: "))while bevetel != 0 and db < 1000 :
szamok.append(bevetel)
db = db+1
bevetel = int(input("Kérlek add meg a következő bevételt: "))
print()
print("Az adatfeltöltésnek vége, mert maximum 1000 elem lehet a listában, vagy mert nullát nyomtál")# B feladat - a bevitt lista kiíratása
print("A listába bevitt számok kiíratása: ",szamok)# C feladat - lista elemeinek összege
print("A bevételi lista elemeinek az összege: ", sum(szamok), "FT.")
def osszead(szamok) :
return szamokCUBE AIM SLX 29" + SEAT LEON 1P 2.0 PD-TDiiiiiiiiiiiiiiiiii
-
scope2007
addikt
üdv!
valaki tudna segíteni ebben?
Írj programot, amely tárolja a cég bevételeit (bevetel).
Készíts lekérdező függvényeket az alábbi feladatokra:
evesbevetel(ev) : térjen vissza a függvény a megadott év bevételével
bevetelkiir(bevetel): Írj függvényt, amely kiirja a bevételeket tartalmazó listát
bevosszegkiir(bevetel): Irj függvényt, amely visszatér a bevétel lista összegévelCUBE AIM SLX 29" + SEAT LEON 1P 2.0 PD-TDiiiiiiiiiiiiiiiiii
Új hozzászólás Aktív témák
- Path of Exile (ARPG)
- Ukrajnai háború
- Gaming notebook topik
- Asszociációs játék. :)
- CES 2025: prezentálta az NVIDIA az új GeForce-okat
- Milyen monitort vegyek?
- VR topik (Oculus Rift, stb.)
- iPhone topik
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Nvidia GPU-k jövője - amit tudni vélünk
- További aktív témák...
- IPHONE 11 FEHÉR 64GB 79% DOBOZZAL
- Apple iPad Pro 2020 11" 128Gb (MY232HC/A) , Space Grey 6 hónap Garancia, TÖLTÉSI CIKLUS: 211 Akku:92
- PlayStation 5 (PS5) DualSense Edge vezeték nélküli kontroller - újszerű, hibátlan, sosem használt
- Thrustmaster kormány pedállal és cockpittel!
- Green Cell Asus R510C R510L R556L X550C X550L töltő ÚJ
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest