Hirdetés
- Úgy állhat le a 16 GB-os GeForce RTX 5060 Ti gyártása, hogy közben nem áll le
- AMD Navi Radeon™ RX 9xxx sorozat
- Sony MILC fényképezőgépcsalád
- HiFi műszaki szemmel - sztereó hangrendszerek
- Azonnali alaplapos kérdések órája
- Melyik tápegységet vegyem?
- LED / LCD TV topik
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Gaming notebook topik
- DUNE médialejátszók topicja
Új hozzászólás Aktív témák
-
Mr Dini
addikt
Az ötlet kiváló, nem is akarok beleugatni, csak annyi, hogy van egy typod, tudtommal az opennek "encoding" a kwargja, nem encode. Illetve a belső zárójel az encoding elé kell, mert nem a join kwargja, hanem az opené:
my_file = open(os.path.join(BASE_DIR, "data.txt"), encoding="utf-8") -
Mr Dini
addikt
Ha már szóba került a Flask, mi ez a hatalmas hype körülötte? Ok, hogy faék egyszerű használni, meg pár sor kóddal megvan egy kezdetleges api, de még ő maga sem ajánlja semmihez, max teszt környezethez a használatát. Olyan szinten lassú, meg ugye sync webszerver. Még ha lokálisan is kéne egy gépen valamit kiszolgálni se használnám, mert simán lehet, hogy amíg egy api hívás felfogja az egészet, a többi kiszolgálásával nem is fog foglalkozni.
De tényleg minden python webes tutorial úgy kezdi, hogy akkor api írás flask alapon... Ehhez képest az async variáns, a Quart alig kap említést pedig kb teljes mértékben kompatibilis. Én még úgy olvastam annó, hogyha web, akkor async (minimum).
Akkor mi a létjogosultsága a Flasknak azon kívül, hogy mondjuk egy teszt környezetben lehessen használni? -
Mr Dini
addikt
-
Mr Dini
addikt
válasz
tmslevi
#2960
üzenetére
Egyrészt megírták a printes hibát, hogy miért történik. Másrészt ez így nem fog menni. Az addig jó, hogy megkaptad a lefordított py fájlt. Viszont a pytransform.so/.dll (a kiterjesztés attól függ, hogy win/linux a futtató) mindenképp kelleni fog, az a deobfuscator runtime kvázi. Aztán leszeded a python forráskódot és azon belül a direktívát, amit a fórum említ, átírod, hogy printelje ki a frameket egy fájlba, majd lefordítod és berakod PATH-ba ezt a módosított pythont.
Majd futtatod vele az eredeti obfuszkált anyagot. Ha lefut, akkor a kód base64-ben elvileg benne lesz majd a fájlban. Kicsit spammy lesz, de benne lesz a lényeg.
Viszont! 1) nem teszteltem; 2) ezt mindenképp csak akkor csináld, ha saját kódról van szó és elveszett a forráskód, vagy a készítő engedélyezte a műveletet. Ha ezek egyike sem applikálható az esetedre, akkor bizonyára joggal volt levédve a szkript és maradjon is úgy. + Ez a megoldás csak akkor működhet, ha van licenced is, tehát az eredeti obfuszkált kód lefut és nem fut hibára, hogy nincs licenced.
-
Mr Dini
addikt
Pedig a hibán 100% segít a python3 developer csomag felrakása. Nekem is volt ilyen gondom rengetegszer, hogy hiányolta a Python.h fejlécet. Viszont fedora alatt van egy csavar, nem python3-dev, hanem python3-devel a csomagnév:
dnf install python3-devel
De ha a conda megoldotta, nincs gond.

-
Mr Dini
addikt
Egyébként ilyen esetekben ha egy keepalive gondolom poller task futna a háttérben, de a kód többi része nem vészesen heavy, akkor melyiket célszerűbb meglépni? Külön szál mindenképp, vagy asyncio és a blocking metódusokat executorral hívni?
Ugye szálat nyitni erőforrás, míg az asyncio single-threaded, csak az executor híváshoz használna szálakat.
Így is úgyis ott a GIL block, soha nem lesznek a Python szálak párhuzamosan futtatva, de érdekel, hogy mikor melyiket célszerű használni.
Sok helyen azt hallottam, hogy asyncio-t akkor, ha IO orientált az app, pl REST API stb, szálakat meg CPU megerőltető folyamatoknál kell használni. De az utóbbit nem értem, ha én kiadok egy 9999999999 ** 9999999999-et, az elég CPU megerőltető, a GIL block miatt ugyanott vagyok, szálakkal se érek semmit.
-
Mr Dini
addikt
válasz
Siriusb
#2230
üzenetére
Nem sajnos, a környezeti változókat nem szeretném felülírni. Más miatt jobb az, amit a Docker alapból beállít.
A normalize jól néz ki, viszont van egy buktatója a dolognak, amire gondolni tudok:
>>> sorted(["Attila", "Adam"])
['Adam', 'Attila']A helyes sorrend Attila, Ádám lenne, hiszen az "á" később van. Az viszont egy okos meglátás, hogy ezen az úton eljárhatok, mondjuk egy dictionary-t felépítve, ahol minden nem angol ábécés karaktert, amire szükségem van felmappelek egy "x" hozzáadásával és az
"Ádám".maketrans(my_map_dict)függvényt hívom segítségül. Remélve, hogy senki nevében nincs x. Tehát az Ádámból csinálok egy "Axdaxm"-ot. Vagy ha more failsafe megoldás kell, valami horribilis spec karakter sorozattal, mint a !! - !! fogok próbálkozni. Ez még csak ötlet, még nem tudom hol a bottleneckje a dolognak, de ideának működőképes. Csak fura, hogy nem találok stdlib megoldást a problémámra (elegáns módon). Még egy külső dependency-t meg ha lehet, mellőznék. Már így is több perc, mire a docker container feláll...
az így kapott sorrendet visszavezesd az eredeti, ékezetes betűs listába
Erre van egy trükköm. A sorted fv rendelkezik egy "key" kwarg-al, ami fogad egy függvény referenciát. Ezt a függvényt hívogatja iteráláskor, ami megkapja az aktuális lista elemet és feladata, hogy visszaadja az elemet, ami alapján rendeznék. Ha ezen belül alakítok, akkor tudok rendezni mindenféle segéd lista nélkül. Nem szép ez se, de legalább nem lassú és teszi a dolgát.
Köszönöm a segítséget!

-
Mr Dini
addikt
Adott egy listám telis tele magyar nevekkel (amiket egy formból nyerek ki). Van köztük ékezetes is. Hogy rendezem ABC sorrendbe őket úgy, hogy az "á," "é" stb ékezetes karakterek nem a lista végére kerülnek és lehetőleg a locale-t nem piszkálom. Vagy ha igen, kellene egy univerzális megoldás, ahol nem kell bemagolni a terület kódját.
Python 3.7
Köszönöm!
-
Mr Dini
addikt
Üdv!
Tudtok ajánlani aszinkron támogató Firebase könyvtárat?
-
Mr Dini
addikt
válasz
EQMontoya
#1427
üzenetére
Köszönöm!

Végül mégis az aiohttp clientjét használtam, s nem bántam meg. Nagyon jól dokumentált, funkciódús dolog. Tökéletes a feladatra. Egy dolog hiányzik még, az pedig a timeout. Jelenleg az asyncio wait_for-ját használom, ami teszi szépen a dolgát, de érdekel, hogy lehet-e ezt valahogy "szebben" megoldani. Néztem a doksit, de nem találtam egyelőre erre vonatkozó információt.
-
Mr Dini
addikt
-
Mr Dini
addikt
válasz
EQMontoya
#1088
üzenetére
Ohh, valóban!

Viszont erre kapok egy szép
android.util.AndroidRuntimeException: No dialog to add button to.hibát a konzolba, ha nem Toastot, hanem dialógust szeretnék megjeleníteni. Arra tudok tippelni az android.py ismerete nélkül, hogy van még valami fontos objektum/változó, ami így nem kerül betöltésre.Mindenesetre, akkor maradok a jól megszokott verziónál!

Más: Pyc kódot lehetséges importálni valahogy?
-
Mr Dini
addikt
Sziasztok!
Py4A-ban (ami a Python3 for Android rövidítése) próbálgatom a szárnyaim. Itt van egy android 'library', amit így szoktak használni (az első két sor a lényeg, a Toast csak példahívás):
import android
droid = android.Android()
droid.makeToast("Hello World!")Ez működik szépen, viszont valamiért ugyanez az
from android import Android as droiddob egy AttributeError-t, hogy az Android objektumnak nincsen makeToast attribútuma. Ez miért van? Gondolom rosszul importálok, de ha nem így, akkor hogyan kéne?Köszönöm a válasz(oka)t!

-
Mr Dini
addikt
Üdv ismét!
Most a következő feladatba tört bele a bicskám...
Adott az urllib2, és szeretném megkapni a PH! főoldaláról a Cookiekat, majd egy következő kérést is kéne végeznem, aminek már az előzőleg megkapott is Cookie-t kéne el kéne küldenie. Hogyan lehetséges ez?
Eddig így próbálkoztam:
import urllib2
from cookielib import CookieJar
cj = CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.open('https://prohardver.hu/index.html')
response = opener.open('https://prohardver.hu/tema/re_nassoljunk_nsa-310_es_az_ffp/friss.html').read()De ez így nem működik... Teszteltem ezzel az oldallal, de a cookiek nem mentek át.

Köszi!

-
Mr Dini
addikt
Sziasztok!
Van egy JSON objektumom (példa), amiből szeretném kinyerni az összes title kulcs értékét, majd ezt szeretném egy tömbbe feltölteni.
Pl így visszakapom az első title értéket:
print jsonobject[0]["items"][0]["title"]Viszont a következő kód valamiért rossz, s nem jövök rá, hogy miért...:
titles = []
for file in jsonobject:
for item in file["items"]:
titles.append(item["title"])Mit kéne változtatnom?
Köszi!

-
Mr Dini
addikt
Üdv!
Chromiumot szeretnék fordítani, de a gn tool, ami python2.7 alapú, nem akar elindulni...
Itt található a kódja. És ez maga a hiba:
Traceback (most recent call last):
File "/home/pisti/Asztal/depot_tools/gn.py", line 38, in <module>
sys.exit(main(sys.argv))
File "/home/pisti/Asztal/depot_tools/gn.py", line 33, in main
return subprocess.call([gn_path] + args[1:])
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format errorMit tudok ezzel kezdeni?
Köszi!

-
Mr Dini
addikt
Üdv!
Még csak most ismerkedem a nyelvvel, illetve azon belül a kivy-s GUI gyártással... Azt le kell szögezzem, hogy ez előtt még soha nem foglalkoztam GUI.val, csak CSS és Android fronton...
No, tehát lenne egy ilyen puritán tesztkódom(részlet):
def callback(instance):
print('The button <%s> is being pressed' % instance.text)
button = Button(text='Hello world', font_size=14,pos=(100,100))
button1 = Button(text='Dlrow olleh', font_size=14,pos=(200,100))
button.bind(on_press=callback)Igen, tudom gyönyörű.

Amit szeretnék, az egy űrlap gyártása egy pár checkbox, list és textbox segítségével. Nomeg ezzel a pár gombbal. A nagy kérdés csak az, hogy a gombokat a pos=(100,100) helyett hogyan tudom még rendezgetni?
Illetve tudtok jó tutorialt hozzá?
Ezer köszi!

-
Mr Dini
addikt
Sajnos a dict típust nem én választottam, a dialógus így tölti fel a változót. Gondolom azért, mert van olyan dialógus, ahol egyszerre többet is kijelölhetek. De ez most nem ilyen. Ha meg sztringbe konvertálom, akkor sem érek vele sokat. De megoldottam már!

Valahogy így:
try:
if response['item'] == 1:
print('1')
elif response['item'] == 0:
print('0')
except KeyError:
print('Kilépés...')
exit(0)Először én is erre a stacked if-re gondoltam, de a try elvileg gyorsabb is. És így nem csak akkor lép vissza, ha canceled kulcs van a változóban, hanem nem várt, egyéb eseteknél is (persze csak KeyError-nál).
Azért köszi!

De a karakterkódolós hiba még mindig fennáll... Ahogy észrevettem, ha a
droid.dialogGetInput(név,szöveg)-en keresztül kérem be a usertől a linket/szöveget, akkor az más kódolással érkezik, és ezért hal meg a kód a fentebb bemásolt ascii hibával. Hogy lehetne kideríteni a kódolást és megoldani azt, hogy kódolja át UTF-8-ba? -
Mr Dini
addikt
válasz
cousin333
#728
üzenetére
Van egy dialógusom két választási lehetőséggel. Ha az illető az elsőt választja, akkor
{'item' : 0}kerül a response változóba dictként. Ha a másodikat választ, akkor ugyanez, csak egyessel lesz a változó.Ha pedig elutasítja (kilép), akkor
{'canceled' : True}lesz a változóban. Na, én ezekrr szeretnék ifeket gyártani. -
Mr Dini
addikt
Sziasztok!
Egy újabb noob kérdésem lenne, megint az iffel kapcsolatban.
Tehát van egy dict globális változóm, ami 3 különböző értékpárt vehet fel, a user integrációjától függően.
Az integráció pedig egy dialógussal történik. Első eset, amikor a dict printelve így néz ki:
{'item':0}
2. eset:
{'item':1}
3. eset:
{'canceled':True}
Namost, próbáltam egy teszt ifet/elifet csinálni mindhárom esetre, de nem akar összejönni... Íme:
if response['item'] == 1:
print('1')
elif response['item'] == 0:
print('0')
else:
print('Kilépés...')
exit(0)Természetesen a print helyett functionokat hívok meg, de így egyszerűbb szemléltetni/kipróbálni Nektek.
Azt értem, hogy mi a gond, tehát, h ha canceled:1 van benne, akkor nincs item:1, vagy item:0 kulcs és ezért hal meg hibával... Csak azt nem tudom, hogy hogy lehetne helyesbíteni... Segítenétek?
Arra gondoltam, kevésbé szép megoldás alatt, hogy megnézem "stacked" iffel, hogy van-e a locals()-ban response['item'] és ha van, akkor fusson az a rész le, ami most if és elif, majd egy másik stacked ifben, ami response['canceled'] is in locals() lenne, berakom a mostani else-t.
Köszi!

-
Mr Dini
addikt
válasz
justmemory
#722
üzenetére
Köszönöm a választ, de sajnos így is hasonló hibát dob...
-
Mr Dini
addikt
Nah, sikerült befejeznem a "kódot"!

Megy rendesen, de például a hosszú 'ö' (tehát ő)-vel nem tud mit kezdeni és ezt dobja:
UnicodeDecodeError: 'ascii' codec can't decode byte 0
xc5 in position 31: ordinal not in range(128)Olvasgattam, hogy hogyan lehetne megoldani a dolgot, de mindenhol csak azvan, hogy az "ő"-t adjam meg unicode szerű kódként. Itt viszont ez nem játszik, mivel user interakcióval töltödik fel a változó adattal...
Van rá más megoldás?
Köszi!

-
Mr Dini
addikt
Üdv!
Próbálkozom egy s4la-s python (3.4) szkriptet összedobni. Eddig minden ment, viszont szégyenszemre pont az ifet nem sikerül rendesen beállítanom...

if next and url is None:
droid.makeToast('Exit...')
if url is not None:
name = droid.dialogCreateInput('Link neve','Mi legyen a megjelenő név): ')
droid.dialogShow()Tehát ha van next változó és az url változó nem kap értéket, akkor kill, ha pedig kap az url értéket, akkor menjen tovább a dialógussal. A gond az, hogy bármit teszek, feljön a dialógus...
Mi lehet a gond?
Köszi!

-
Mr Dini
addikt
Üdv!
Szerettem volna őt lefordítani, gond nélkül felment. Viszont nem tudom mik a parancsok, illetve a __main__.py sincs benne, így nem tudok vele mit kezdeni. Pippel is próbáltam feltenni, ott sem működött pl az adb devices parancs... Doksit nem találtam hozzá. Honnan lehetne megtudni, h működőképes-e?
Köszi!

-
Mr Dini
addikt
Szevasztok!
Egy IPTV stream plugint szeretnék tervezni kodi(xbmc) alá.
Az xbmc plugin ugye python alapú, ezért is fordulok hozzátok.
Elkészítettem a kódot pár tutorial alapján, mert nem vagyok egy nagy pythonos, meg amit csináltam az is rég volt már...

Becsomagoltam és megpróbáltam feltenni a málnán futó openelecre, de hibával eldobta a telepítőt. Semmilyen log nincs, ami utalna erre.
(legalábbis én nem találtam ilyet)Maga a zip itt lenne: [link]
És itt van maga a python rész: [link]
Ránéznétek nekem, hogy mit ronthattam el?
Előre is köszönöm a válaszokat/tippeket/ötleteket! 
Új hozzászólás Aktív témák
- Úgy állhat le a 16 GB-os GeForce RTX 5060 Ti gyártása, hogy közben nem áll le
- AMD Navi Radeon™ RX 9xxx sorozat
- Nintendo Switch 2
- koxx: A bajnokok egere? Lamzu Maya Champions Edition 8K gamer egér
- Jövedelem
- World of Warships
- World of Tanks - MMO
- Magisk
- Anyagi helyzetek és életutak
- Battlefield 6
- További aktív témák...
- iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS4052, 94% Akkumulátor
- GYÖNYÖRŰ iPhone 12 mini 128GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3856
- BESZÁMÍTÁS! ASUS ROG B760 i9 14900K 32GB DDR5 1TB SSD Asus ROG RTX 3090 24GB Zalman Z1 1000W
- BESZÁMÍTÁS! MSI Z370 i7 8700K 16GB DDR4 500GB SSD RTX 3060 12GB Rampage SHIVA ADATA 600W
- Eredeti Lenovo 135W töltők (sárga téglalap)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest
Akkor mi a létjogosultsága a Flasknak azon kívül, hogy mondjuk egy teszt környezetben lehessen használni?





Pedig van, hiszen a fentebb vázolt megoldással működik.




