Új hozzászólás Aktív témák
-
adam0913
tag
Sziasztok!
Elakadtam egy problémával (jelzem nem vagyok nagy programozó
)A következő kis programot próbálnám összerakni:
-egy adott weboldalról legyen például ez az oldali , ahonnan napi szinten szeretnék adatokat kinyerni, amiket aztán adatbázisban tárolok.Ehhez szerintem praktikus a Request és a Beautifulsoup package-ket használni.
Van egy minta oldal, ahol táblázatból adja vissza a kért adatokat, a kódját bemásoltam, viszont ez sem fut le, "invalid syntax error-al" visszadobja (pedig installálva vannak a packagek). Ez a sor nem tetszik neki:
"for inmate in inmates:
print '{0}, {1}'.format(inmate['name'], inmate['age'])"A teljes kód itt: Kód-link
A kérdés, hogy mi lehet az oka annak, hogy nem fut le nálam, illetve mit kellene átalakítanom benne, hogy az általam linket példa oldal (napiárfolyamról) tudjunk adatokat kinyerni?

-
cadtamas
tag
Üdv ismét.
Tkinter programozással kapcsolatos lenne a következő kérdésem.
Szeretnék egy reset metódust csinálni, de problémába ütköztem.
Létrehoztam egy Frame objektumot, amin belül van egy canvas.. A canvast könnyedén tisztára tudom seperni a .delete(ALL) metódussal.
Viszont a kereten elhelyeztem control paneleket amiken gombok, beviteli mezők, meg feliratok vannak.
Létrehoztam egy controlPanel osztályt
A paneleket egy szótárban tárolom panel["player1"]=ControlPanel(....) formában.
Hogyan tudnám az így létrehozott objektumokat törölni?
Próbáltam a panel.clear() metódussal,de nem törölte a már létrehozott paneleket, csak melléjük rakta az újakat. -
axioma
veterán
válasz
anddrew
#1097
üzenetére
Pycharm de 2-es pythonnal. Nekem is azt irja egy ideje, hogy No python interpreter configured for the project, es ezt el se tudom tuntetni, de legalabb cserebe ennek ellenere megy. Mondjuk volt ket gep kozott koltozes nalam, de a konf.file-okban se talaltam semmi kulonbseget, ami visszavezetheto lenne. Viszont path-on van a python, ugyhogy felteszem nem a configured hanem az indul. Randa, de ez van, most nem probalkozok clean install-lal.
-
anddrew
tag
Sziasztok,
Akadt egy kis problemama a Python 3.6 - os verziojaval. Miutan letoltottem es megnyitottam az IDLE-t ezt az hibauzenetet kaptam:
"IDLE's subprocess didn't make a connection. Either IDLE can't start or personal firewall software is blocking connection"
Miutan az OK ra nyomok bezarodik az egesz IDLE. Konkretan minden lehetseges megoldast amit google ajanlott kiprobaltam de egyik se mukodik.
Mas IDE sem mukodik, Pycharmot hasznalok de egy egyszeru print parancsot nem kepes futtatni...
Tudtok segiteni? Win 10 et hasznalok, 64-bit.
-
Sziasztok,
elakadtam egy problémával, és a segítségeteket kérném.
Nem vagyok egy nagy programozó előre szólok
Szóval a feladatom az, hogy egy mysql adatbázisból kiolvassam az egyik sort, és azt ellenőrizzem, hogy egyezik-e egy változóval.
Ott akadtam el, hogy nem tudom hogyan tudnám egyesével léptetni az sql eredményeket.
azt tudom, hogycursor.rowcountmegadja az adatsorok számát. Így while-el végig tudnám csinálni, csak nem tudom hogy.
Mert ugye aresults = cursor.fetchall()
for row in results:
akarmi = row[0]
print akarmi
ez ugye kiadja a teljes eredményt, jelen esetben mind a 3 sort.
De ugye ha jól gondolom azif akarmi == valtozo:sosem lesz igaz, mert avaltozocsak az egyik sort tartalmazza azakarmi-ból. Vagy tévedek? -
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?
-
válasz
velizare
#1091
üzenetére
ja és persze a file első sora deklarálja, mit is kéne használni
# -*- coding: utf-8 -*-amit kihúztam a db-ből, hogy
NLS_NCHAR_CHARACTERSET AL16UTF16 és NLS_CHARACTERSET WE8ISO8859P15.ennek megfelelően megpróbálkoztam a connect sort módosítani:
conn = cx_Oracle.connect(conn_str, , encoding="iso-8859-15", nencoding="AL16UTF16")
persze, hogy nem változott semmi.
-
akkor én is kérdezek egyet.
import cx_Oracle
try:
conn = cx_Oracle.connect(conn_str)
print ("connection successful.")
except:
print ("connection failed")
conn.close()
else:
print ("\o/\n")
#executing sql statement
sql_statement=U'select valami from valahonnan'
print("executing sql statement:")
print (textwrap.fill(sql_statement,width=60))
c = conn.cursor()
c.execute(sql_statement)
#put it to a list
for row in c:
#print it
#print (row)
#result.append(list(map(str,row)))
output.writerow(row)
c.close()
conn.close()és erre a hibaüzenet:
Traceback (most recent call last):
File "rfs/export_2_master_csv.py", line 51, in <module>
output.writerow(row)
File "C:\ProgramData\Anaconda3\lib\encodings\cp1250.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\xbf' in position 72: character maps to <undefined>ami nem tetszik neki, az a következő érték:
'Gerrard¿s Cross'jó gewglis módjára az nls_lang beállításávál próbálkoztam, de az nem hozott sikert.
ötletek? -
EQMontoya
veterán
válasz
Mr Dini
#1087
üzenetére
Hejj, itt igen komoly problémák vannak.
droid = android.Android()
esetben itt ugye történik egy függvényhívás, meghívod az Android nevű függvényt, ami vissza Néked egy cukcsimukcsi ojjektumot, aminek van makeToast tagfüggvénye.A másik esetben, amikor ezt csinálod:
from android import Android as droid
droid.makeToast(...)
Itt magán az Android függvényen, mint objektumon próbálsz meg függvényhívást végezni, az meg nyilván nem adja ki. A milói Vénusz bal lába sem illik a Dávid szoborra, pedig ugye szobor-szobor.
Így menni fog ebben az esetben is:droid().makeToast(...) -
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!

-
cadtamas
tag
Segítsetek kérlek, hogy mit szúrok el.
Van egy listám, ami számokat tartalmaz 0-52-ig.
Szeretnék egy random számot hozzáadni a listához, de csak akkor, ha az még nem a lista eleme, ha már benne van a listában, akkor a függvény újra hívja magát.self.list=[]
def shuffle(self):
n=randrange(0,52)
if n not in self.list:
self.list.append(n)
return n
else:
self.shuffle()Viszont időnként a függvény a None értékkel tér vissza.
Nem értem miért. -
Damateo
aktív tag
Üdv,
Van olyan Python alapú webes keretrendszer aminek van magyar oldala, vagy leírása? -
Sziasztok,
xml file-t szeretnék pythonba feldolgozni ElementTree-vel.
Ez szépen megy is, de elakadtam egy pontnál. Az xml tartalmaz olyan elem neveket, ahol : is található a névben. Erre pedig hibát kapok, nincs : utáni rész prefix nem található. Hogyan tudnám ezt a dolgot áthidalni? -
én úgy csináltam, hogy:
import subprocess
val = "a valtozod amit at szeretnel adni"
command = ["python script2.py " + val]
subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)script2.py-ben pedig:
import sys
for athozott in sys.argv[1],:
print athozottlehet van szebb, vagy egyszerűbb megoldás is, de én így használtam

-
zeix
senior tag
Sziasztok!
Nekem is új a python programozás. PHP-hez inkább értek.
A gondom az lenne, hogy van egy while ciklus, amiben van egy if elágazás, ha feltétel igaznak bizonyul, akkor az aktuális időpontot mentem egy változóba.
Innen jön a probléma, hogy itt importálnék egy másik python fájlt, amiben szeretnék a ciklusban lévő időpont változóra hivatkozni.
Ezt hogyan lehet megtenni python-ban?
Köszi! -
tvamos
nagyúr
válasz
justmemory
#1070
üzenetére
Koszonom, megnezem majd a hetvegen.
Hat most ugy van, hogy az egyik thread figyeli a soros portot, es elkapkodja az adatokat, tesz hozza time-stamp-et, a masik neha kuld rajta adatot, a harmadik a lemezre ment a buffer-t, ha van benne valami, a foprogram meg intezi a GUI-t.
(#1069) sonar válasza tvamos (#1067) üzenetére
Lenne lehetosegem atterni 3-as Pythonra, de a ceges gepen csak ez a 2.7 lehet, es akkor a privat progim nem futna a ceges gepen, es eleg nekem egyszerre egyet tanulni. (A cegnel en hw. fejleszto vagyok, megkapom a python scriptet, es csak futtatom, de erdekel ez a dolog. Meg itt van egy rakat programozo, megis, ha valami bugos, akkor sokszor hetekig ugy marad... en meg majd jol kijavitom bosszubol.) -
justmemory
senior tag
Én anno ezt találtam, nekem sokat segített, hátha jó lesz neked is, vagy ad ötletet (noha nem ismerem a programod mibenlétét).
sonar: sajnos nekem nincsen módom 3-asat használni, mert n900-ra 2.5 van alapból sajnos és a 2.7 sem igazán tökéletes és teljes... nem jó, de ez van... számítógépig meg nem jutok el, hogy azon próbáljak bármit is programozni, mert a gyerek kitúr...

-
Tread-et még nem csináltam. Vagyis ebben a formában nem. De kipróbálom
Én két sql tábla tartalmát hasonlítom össze 5mp-enként, abból az egyik változik, a másik pedig a fix, amit keresek az elsők között. Illetve van egy harmadik tábla, ami szintén a végtelen ciklus megszakitására szolgál. -
-
tvamos
nagyúr
válasz
justmemory
#1058
üzenetére
PC-n nincs gond, húz egy szálat, jól van, de az 1-es málna megfagy tőle.
Szeretnék valami szép megoldást, és úgy néz ki, meg is lett, csak még nem pont értem a leírást.Ja, meg a kilépés még nem megy, csak task manager-ből, majd utána azt is megoldom.
És bocs a queue miatt!
-
sonar
addikt
válasz
peter1998
#1062
üzenetére
A bash rc.local akkor fog lefutni ha megadod a path-ot vagy ott vagy ahol az rc.local
sorry túl késő volt akkor és mai is
Ez lett volna a parancs ha nem léptél be előzőleg az etc könyvtárba
bash /etc/rc.localigazából mind 3 módszer jó kell, hogy legyen.
az rc.local az root userrel fut, cron-os @reboot ott már több lehetőség van, systemd-s is alapvetően root
Ami még gond és különbség lehet, hogy vmi még nem éledt fel teljesen v a script nem teljesen lett felkészítve arra, hogy standalon háttérben fusson.
Ilyenkor szoktam teli tömni loggolással a scriptet, hogy lássam meddig jut el. És utána lehet tovább lépni/gondolkodni -
peter1998
tag
válasz
peter1998
#1062
üzenetére
Sikerült megoldanom. systemd-t használtam. Az alap leírás az ez volt [link] Ezután beleszaladtam egy olyan hibába hogy elindult a script de még nem volt hálózat az orangepi-n. Ezért a kódba módosítottam egy sort.
subscribe.callback(print_msg, "opirele", hostname="192.168.0.101", keepalive=120 )Köszönöm a segítséget.
-
peter1998
tag
bash: rc.local: No such file or directoryMay 4 19:17:07 localhost cron[485]: (CRON) INFO (pidfile fd = 3)
May 4 19:17:08 localhost cron[485]: (CRON) INFO (Running @reboot jobs)A crontab vonal az jónak látszik, sajnos nem fut a program. A fent látható log szerint pedig elindul. Van még valami ötleted?? Az operációs rendszer egy ARMBian.
Kezd ez a dolog itt offba átcsapni ?

-
totron
addikt
Le van nézve a Python.
-
justmemory
senior tag
-
tvamos
nagyúr
válasz
justmemory
#1017
üzenetére
Köszönöm az ötletet!
Nagyjából megértettem a threading-et. Most ezt a que dolgot próbálom megérteni, mert adatok mennek a thread-ek közt, és ha while-al várok, húzza a procit. -
sonar
addikt
válasz
peter1998
#1055
üzenetére
Na most az rc.local nem minden linux van engedélyezve (ha nincs az os-en engedéyezve akkor bele van írva az rc.local-ba bele van írva) Bár ha jól megnézem ez vmi raspian lesz.
Ha ezt lefuttatod akkor látnod kell, hogy mi a gond (előtte javaslom, hogy lépjél ki a gyökérbe cd \ )bash rc.local
Illetve tegyél a végére & jeletpython /home/bazs/rele_ketto.py &@reboot-nál nem kell az & jel
illetve nézd meg a syslogot hátha mond vmi okosatgrep cron /var/log/syslog -
peter1998
tag
Sziasztok!
Hegesztek egy Openhab2 alapra épüő rendszert. Van egy programom ami azt figyeli hogy mi érkezik az mqtt témába és az alapján hoz döntéseket. A program rendesen fut ha kézzel indítom el.import sys
import paho.mqtt.subscribe as subscribe
from pyA20.gpio import gpio
from pyA20.gpio import port
rele = port.PA6
gpio.init()
gpio.setcfg(rele, gpio.OUTPUT)
#subscribe.callback(print_msg, "opirele", hostname="192.168.0.101")
while True:
def print_msg(client, userdata, message):
ertek = message.payload
if ertek == "1":
gpio.output(rele, 1)
if ertek == "0":
gpio.output(rele, 0
subscribe.callback(print_msg, "opirele", hostname="192.168.0.101")Ez lenne a programom.A következő pedig a crontab fájlom.
@reboot python /home/bazs/rele_ketto.py &Az utolsó pedig a /etc/rc.local fájl tartalma.
python /home/bazs/rele_ketto.py
exit 0Az lenne a kérdésem hogy miért nem indul el a program a rendszerrel együtt.
-
s3toraph
senior tag
válasz
velizare
#1048
üzenetére
Értem. Anaconda telepítés előtt leszedjem a mostani pythont? Vagy az anaconda telepítő érzékelni fogja hogy van fent python 3?
(#1049) sh4d0w:
Köszi.
Úgy látom ez csak korlátozott verzióban free.(#1050) sztanozs:
Köszi.
Ez a VS Code free verzióban teljes funkcionalitással használható?
Ha azt írja hogy debianra telepíthető, akkor vajon raspbianra is?
Ez az atom egy editor ha jól látom. -
BTW eddig egy Python portable-t használtam a hozzá adott pyscript-tel, de az Atom + Anaconda páros simán leveri. Szuper, hogy az Anakonda admin jog nélkül felrakható és az Atom megy egyszerűen csak a gyári zipből kicsomagolva...
-
-
s3toraph
senior tag
válasz
justmemory
#1043
üzenetére
Köszi!
Én maradok az egyszerűbb, feltelepítem és működik vonalon amin nem kell állítgatni.
(#1044) sztanozs:
Köszi a tippet. Visual studiot nem használok, fogalmam nincs róla, ez meg úgy látom egy python ide ami VS-ben fut, így inkább önálló IDE-t keresek.
(#1045) axioma:
Köszi az infót.
(#1046) cousin333:
Köszi az infókat.
Fel akartam rakni a spydert külön, de mint kiderült az nem az amire azt hittem, az is csomag. Ezt nem is lehet külön, csak a spydert telepíteni? Eddig egyedül csomagokban láttam.
Windowsban ez amit írtál, nem működik parancssorban: pip install spyder
Ha az anacondát választom, mert abban benne van, az mindent felrak ami benne van, vagy ki tudom választani, nekem mi szükséges? Ill. ha mindent felrak, akkor előtte szedjem le ezt a külön feltelepített pythont, vagy ez mindegy?
IDE-kböl még a Ninja-t néztem volna, de korábban írtad hogy azt már nem nagyon fejlesztik, szóval eddig csak a spyder lenne a befutó. Nagyon nem vágom mit hogyan kell felrakni, teljesen új nekem, ezért kérdezek ennyit + nem szeretném megszivatni sem magam.
Ja és igen, rapsberry-re is van anaconda? Mert ugye, egyforma szoftverkörnyezet kellene, amit windows-on megtanulok, amiket használok, pl. az IDE, ugyanúgy tudjam használni a PI-re telepített raspbian-on.
Az nem baj ha a csomag nekem feleslegesen nagy, és nem használom ki 10%-át sem. Az a lényeg hogy amit használni akarok az ott legyen, és jól működjön (python 3 + spyder IDE).
-
cousin333
addikt
válasz
s3toraph
#1042
üzenetére
A Spyder egy ingyenes, nyílt forrású fejlesztőkörnyezet, egy időben én is azt használtam. Tulajdonképpen semmi rosszat nem tudok felhozni ellene, az IDLE-nél nyilván klasszisokkal jobb. Keresztplatform, tehát minimális eltéréssel tudod használni Linuxon és Windowson egyaránt.
Linuxon szerintem helyből, a Windowson a 3.4-től kezdődően az alaptelepítés része a pip nevű csomagkezelő: [link]. Egyszerűen a parancssorba írd be:
pip install spyder
Ez elvileg felteszi neked a megfelelő verziójú programot, és mindent, ami kell hozzá, Windowson és Linuxon egyaránt. Azért írtam, hogy elvileg, mert mostanában nem a "mezei" Pythont használom, hanem az Anaconda nevű disztribúciót, amiben a Python, meg a Spyder mellett milliónyi más modul is benne van, előre telepítve. Ez viszont neked talán feleslegesen nagy, Raspberry-re mindenképpen.
Amúgy meg ott a dokumentáció: [link]
A Spyder alternatíváit már felsorolták a többiek, nagyon mellényúlni szerintem egyikkel sem tudsz, innentől ízlés kérdése. Személy szerint én mindenképpen IDE-t használnék, és nem "szövegszerkesztőt", mint a Notepad++, VIM és társaik.
A megírt progamjaid valószínűleg futnak majd mindenhol, feltéve hogy a gyári modulokat használod. Ha nem, akkor sincs minden veszve, csak esetenként problémásabb lehet a dolog.
-
axioma
veterán
En jelenleg Pycharm-ot hasznalok, de van ismerosom aki sokkal regebb ota pythonozik, es neki meg nagyon nem tetszik. Amit viszont nem ajanlok kiprobalni sem: Enthough Canopy. Egy gyenge es kicsi hattertaru gepre sikerult ezt mint minimalt bevalasztanom, de egy kuzdes volt vele egy debug is (nem is volt csak kijelolt sorok kulon futtatasa...)
-
justmemory
senior tag
válasz
s3toraph
#1042
üzenetére
Magyar nyelvű könyv tekintetében sajnos nem tudok segíteni, mert nem igazán használtam semmilyen könyvet, illetve java részt angolul tájékozódtam...
Az IDE-vel kapcsolatosan - noha nem nekem szólt - csak a saját tapasztalataimat szeretném megosztani: én neovim-et használok (inkább szövegszerkesztő, nem IDE); ezt szépen be lehet állítani, hogy szintaktikailag, és mindenhogy (amilyen 'modult' beállítasz/telepítesz hozzá) kezelje a python-ban írt kódot (automatikus sortörés 79 karakter után, automatikus behúzás 4 szóköznyire, gépelés közben a lehetőségek felkínálása, aszinkron hibakeresés, stb.). El kell vele picit játszani az elején, de nem lehetetlen jól beállítani
A hátránya, hogy ebből nem tudsz rögtön kódot futtatni, azt külön kell megtenni, viszont értelemszerűen ha eleve hibát jelez a kódolásban, a futtatás előtt azt érdemes javítani. A másik hátrány, hogy eleve meg kell szokni a kezelést, a billentyűkombinációkat, stb., mire automatikusan tudod használni, viszont én most azt mondom, hogy megéri, mert roppant gyorsan lehet vele dolgozni. Ha amúgy is Linux-on szeretnél majd dolgozni, akkor lehet, hogy egy kipróbálást megér.
Tegyük hozzá, hogy erőforráshiány miatt én mást nagyon kipróbálni nem tudtam, így azért a fentebb leírtakat annyiban kezeld fenntartással, hogy más megoldás akár sokkal jobb is lehet/számodra jobban beválhat. -
s3toraph
senior tag
válasz
cadtamas
#1012
üzenetére
+ (#1015) cousin333 + (#1018) justmemory:
Programoztam (tanultam) már C-ben és javaban csak régen volt hogy utoljára kódot írtam.
Angol persze lesz fejlesztve, de munka mellett nem fér bele minden, most ezt sürgősebb.
Szóval, magyar forrás kell nekem, tananyag szempontjából, ami elég jól felépített, jól magyaráz hogy akár aki első programnyelvként fog bele az is megértse.
Summerfield Python 3 könyvét már nem kapni sehol de le tudtam tölteni egy helyröl bescannelt változatban, azzal haladok szép lassan. Nem rossz. De nekem sem fekszik csak könyvből tanulni, így elég száraz, unalmas.
Szerencsére rátaláltam a pythonidomár YT csatornára, ez tetszik, nagyon szájbarágós, jól magyaráz és magyarul van!
cousin333:
Eddig az IDLE-t használtam, de kezd zavaró lenni hogy nem látom meddig tart egy ciklus és nincs sorszámozás. Kellene valami fejlettebb IDE. Láttam hogy te korábban írtál a lehetőségekröl. Nekem olyanra van szükségem, ami elérhető ingyenesen windowsra és linuxra is. Ugyanis, most windows-on bele akarok tanulni a python 3-ba és ha már tudom értelmezni a hőmérséklet mérős mintakódokat pl. githubon, akkor a raspberry pi2-re telepített rapsbyan-on belül irnám meg a hőmérséket figyelős progit ami magán a pi-n futna. A spyder IDE-vel szemezgetek. A rapsbianban van python 3 is (igaz még nem néztem melyik verzió pontosan), és ha jól láttam fel lehet rá rakni a spydert.
Ha írok egy kódot ami .py kiterjesztésű fájl lesz, és benne van ez első sornak:
#! /usr/bin/env python3
akkor futtatható lesz minden gond nélkül rapsbian rendszeren is?Valamint, segítenél abban hogy jó választás-e ez a spyder? Valóban ugyanúgy tudom használni linux alapú rendszeren mint windows-on?
Hogyan kell feltelepíteni? Találtam külön is, meg csomagban is (azt hiszem anaconda néven), nem tudom nekem melyik kell, melyiket érdemesebb felraknom.
(Konfigom az adatlapomon, rendszer Win 8.1 Prof X64, python.org-ról python 3.6.1 x64 telepítve.)
-
válasz
namenyicsavo
#1038
üzenetére
Üdv! Ötletem sincs, hogy mit szerettél volna kérdezni.
-
namenyicsavo
tag
Üdv.
Ötlet arra, hogy a onclick nem csinálja meg a python utasítást? Tud valaki segíteni?

-
cousin333
addikt
válasz
EQMontoya
#1034
üzenetére
Ez melyik sshtunnel verzió? Csak mert a hivatalos dokumentációban is szerepel a
with-es megoldás, ráadásul szinténstart()nélkül.A hivatalos oldalon fenn van a fájl a kérdéses sorral: sshtunnel.py
Az
__enter__()metódus - awithnem az__init__()-et használja - pedig tartalmazza aself.start()függvényhívást.Vagy akkor valamit rosszul értek...

-
EQMontoya
veterán
válasz
velizare
#1033
üzenetére
Azért, mert a tunnel __init__ fv-e (amit meghív a with) nem hívja meg a startot.
with sshtunnel.SSHTunnelForwarder(
('jumpserver', 22),
ssh_username="username",
ssh_password="password",
remote_bind_address=('remotehost',1521),
local_bind_address=('127.0.0.1',1521)
) as tunnel:
tunnel.start() -
sshtunnel-t használ valaki? valamiért nem működik ez a csatornanyitás with contextussal:
with sshtunnel.SSHTunnelForwarder(
('jumpserver', 22),
ssh_username="username",
ssh_password="password",
remote_bind_address=('remotehost',1521),
local_bind_address=('127.0.0.1',1521)
) as tunnel:
innen nyitnék egycx_Oracle.connect-tel egy db kapcsolatot, de egyszerűen nem nyitja meg a csatornát.viszont with contextus nélkül tökéletesen elérem az adatbázist.
tunnel = sshtunnel.SSHTunnelForwarder(('jumpserver', 22),ssh_username="username",ssh_password="password",remote_bind_address=('remotehost', 1521),local_bind_address=('127.0.0.1', 1521))
tunnel.start()csak ezt utána be is kell zárnom.
van valakinek ötlete, miért nem működik with-tel? köszi
-
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!

-
justmemory
senior tag
Na igen, ez nehéz... nekem volt olyan problémám, amit 1 hétig gugliztam és olvasgattam, mire sikerült megoldást találni... Kitartás...

Sajnos a 3-al egyáltalán nincsen tapasztalatom, a 2.7-el is csak minimális; telón 2.5 van elsősorban, így bizonyos szempontból ahhoz vagyok kötve.
Egyébként most találtam a telómon egy scriptet; opengl tesztelésre lett írva pythonban (na nem általam),
és ott lehet egy objektumot mozgatni, alapvetően nem használ ablakkezelőt; legalábbis nem importálja pl.
a gtk modult. -
axioma
veterán
válasz
justmemory
#1029
üzenetére
Nyilvan tutorialok stb. csak itt nehezites tkinter-nel, hogy 2.7-ben es 3-asban a neve ugyanaz (kis/nagy betut a gugli ugye nem figyeli), ellenben a hasznalata masnak tunik.
Megjegyzem tobbedik nyelv amit megismerek, igy azert a rutin megvan - mar olyan regen vegeztem az egyetemet, amikor egyesek itt me'g meg se biztos, hogy szulettek. -
justmemory
senior tag
Ja értem

Egyébként egyfelől a próbálgatás maga is tanulás. De azért ezt nem úgy kell elképzelni, hogy kútfőből nekifogok valamit beírni aztán hátha jó lesz
Ahhoz, hogy végül akár alkalmazásokat is tudjak írni, meglehetősen sokat kellett olvasnom is; hol könyvet, hol fórumokat, hol kódokat, hol manuálokat. Számomra ez hatékonyabb volt, mert mindig lelkes maradtam. Amikor meg csak a tankönyvet követtem, sajnos hamar ráuntam... Ez csak tanulási módszertan; számomra ez válik be. Az megint más kérdés, hogy számomra ez hobbi, semmi egyéb 
A tk számomra fehér folt, valamiért "nem tetszett", szóval ezt passzolom.
-
axioma
veterán
válasz
cousin333
#1027
üzenetére
Koszi. Igazabol nezegettem volna en is tobbet, de most a "celcsoport" (a kiserletezesi resz) nyugje, hogy csak nagyon beallt dolgokat hasznaljunk, ezert lett a tcl/tk az elso cel. Amugy vszinu csak a layout managert valasztottam rosszul, a grid szep lenne de tizedannyira konfigolhato, marad a pack()-ra atiras.
-
-
axioma
veterán
válasz
justmemory
#1022
üzenetére
Te irtal a tanulas helyett probalgatasrol, es en abban akadtam el, ennyi az osszefugges

Majd megnezek mast is, de most a Tkinter lenne a celpont (hobbi, python gui probalgatas, egy Evil2048-at raknek ossze, ugyis csak nulladik verzio bir lenni, azert rendes jatekra a mozgas esetleg attunes is jo lenne, de most szin sincs de legalabb egy 4x4-es negyzettablat latnek kozepre igazitott szamokkal... az algot akarom inkabb tovabb evil-esiteni, mert van egy nagy segitseg benne emeleskor
)
Sot, tovabbiakra hasznos lenne hogy lassam, mi a kulonbseg ha masban csinalom. Netto gepelessel alakitanam most, hat nem egy swing GridBagLayout hiaba ir magarol kb. azonos funkcionalitast... -
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!

-
axioma
veterán
válasz
justmemory
#1018
üzenetére
En most Tkintert probalgatnek 2.7 alatt, de mar egy egyszeru label bordert se csinal meg ugy ahogy varnam. Vannak valahol mukodo mintapeldak osszegyujtve? Igazabol egy nyilvanos kodu osszetettebb projekt is johet, asszem ki fogom tudni bogozni a lenyeget belole.
-
justmemory
senior tag
Igen, ezért is tettem hozzá, hogy nem mindegy mire kell, mit "akar tudni a program". Ha egyszálú, akkor persze, semmi szükség rá, de ha párhuzamosan szeretnék egymástól eltérő dolgot lefuttatni különböző "várakozási időkkel", akkor lehet hasznos (pl. 15 percenként nézze meg az emailjeimet, és emellett óránként frissítse az időjárási adatokat, de egymástól függetlenül).
Az eredeti kérdés alapján nekem az jött le, hogy x*100 ms után mindenképp indítani kell...
-
sonar
addikt
válasz
justmemory
#1017
üzenetére
2.7-ben a paralell dolog nem igazán működik. Az az működik csak sokkal lassabb és erőforrás zabálóbb, mint ha egymásután futna
Igazából számomra az nem világos, hogy ha 100ms várás kell a kettő indítás között? Vagy 100ms után inditani kell mindenképpen -
justmemory
senior tag
válasz
s3toraph
#1009
üzenetére
Szia,
ahogyan előttem is írták, a neten rengeteg anyagot, fórumot, stb. találsz; én sem adnék ki ennyit azért a könyvért

Én anno a Swinnen könyvből kezdtem el tanulni, de önmagában a tanulással lassan haladtam, mert az aktuális, engem érdeklő problémára nem adott megoldási javaslatot, plusz mérhetetlenül unalmas is volt ilyen tankönyv jelleggel tanulni, tehát hagytam az egészet, és elkezdtem megoldani az adott problémát a magam esze és a neten fellelt megoldások szerint. Egyrészt nem olyan unalmas, másrészt relatíve hamar lehet sikerek elérni, plusz meg is tanulod, amire magad jöttél rá, vagy nagy-nehezen valahol megtaláltad a megoldást.
A hátránya ennek az, hogy nehezen, idővel áll össze rendszerezett tudássá az egész, plusz sok olyan megoldásról csak később szerez tudomást az ember, mely esetleg bizonyos problémák megoldását egyszerűbbé tenni (pl. függvények/modulok nevei/funkciói). Így vagy úgy, de előbb utóbb összeérnek a dolgok, csak sokat kell programozni és sokféle problémára kell megoldást keresni
-
justmemory
senior tag
Szia,
szerintem próbálkozz a threading-el... Persze attól is függ, hogy mire szeretnéd használni, illetve szeretnél-e más feladatot is párhuzamosan végeztetni vele (a threading ez utóbbira használatos azzal, hogy persze nyilván tudod időzíteni)...
Egyébként ha mást nem, esetleg a sleep-nek lehet minden alkalommal paramétert adni, és akkor nem baj, hogy változik a "nem mindig ugyan olyan hosszu ideig tart, amit csinalni kell" -
tvamos
nagyúr
Sziasztok!
Python 2.7 alatt szeretnek idoziteni.
Hogyan tudnam ezt megcsinalni, hogy egy feladatot minden x * 100ms-ban vegrehajtson?
Scheduler? Az jo lenne, de csak olyan peldat talalok, ahol 1s az idoalap.
A sleep meg nem tetszik, mert nem mindig ugyan olyan hosszu ideig tart, amit csinalni kell.
Elore is koszonom a segitseget! -
cousin333
addikt
válasz
s3toraph
#1009
üzenetére
Újabb, mint a Swinnen könyv, ráadásul a Python 3-al foglalkozik, de frissnek azért nem mondanám. Ahogy látom, ők is kb. antikváriumból hoznák, ha megrendeled
. Az oldalszám alapján elég alapos, de ennyiért nekem nem kéne.Szerintem a neten találsz elég sok segédanyagot, videót vagy éppen oktató appot. Ezek jó része persze angol, de talán itt az ideje kicsit fejleszteni a nyelvtudást. Hosszútávon mindenképp jól jársz vele.
Ha minden kötél szakad, az alapokhoz jó a Swinnen könyv is, akár "háttér olvasmányként". Sok minden változott azóta, de az alapok maradtak.
-
cadtamas
tag
válasz
s3toraph
#1009
üzenetére
Én azt javaslom, hogy párhuzamosan kezdj el angolul is tanulni. Sajnos sok információhoz kizárólag angol nyelven fogsz hozzájutni.
Mondjuk az vicces amikor egy olyan összetett dolgot próbálok angolul megérteni, amit magyarul se biztos, hogy megértenék.
A Gerard Swinnen könyv tökéletes ha a python az első programnyelved.
Én is azzal kezdtem. Most az udemy-n vettem egy angol nyelvű pythonos kurzust. Így könnyebb megérteni miről beszél. -
66zio
aktív tag
Üdv.
Van itt olyan aki kezdő-közép, közép szinten áll Pythonból? Segítségre lenne szükségem, tudna írni nekem egy privát üzenetet? -
s3toraph
senior tag
Sziasztok!
Raspberry Pi2-re írnék egy programot, ami hőmérsékletet monitoroz. Példaprogramokat, kiindulási alapokat inkább python-ban találok így belevágnék abszolút nulláról a pythonba. Az RPI-n raspbian van most, amiben van alapból python 2 és python 3 (nem tudom kell-e még valami hozzá illetve pontosan melyik verziók).
Ahogy olvasom, érdemesebb volna python 3-at tanulni. Angolom nagyon gyenge így magyar forrást keresek. Belekezdtem ebbe a régi python 2-es könyvbe: Gérard Swinnen - Tanuljunk meg programozni Python nyelven. Gondoltam ebböl megtanulok annyit amennyi nekem kell és aztán megtanulom a python 2 és 3 különbségeit. De ma találtam egy ilyen könyvet magyarul: Mark Summerfield: Python 3 programozás - Átfogó bevezetés a Python nyelvbe.
Kérdésem, hogy ez mennyi jó/ajánlott könyv? Mert akkor inkább már az újabból tanulnék és inkább python 3-at.
-
Silεncε
őstag
Sziasztok!! Lenne egy program, amivel már napok óta nem bírok zöld ágra vergődni. A feladata az lenne, hogy kliensként szolgáljon egy másik projecthez. A másik oldalon egy Teensy van, ami ESP8826-on keresztül lök adatot nekünk wifin (TCP protokollal). A "kliens" feladata az lenne, hogy fogadja a TCP-n érkező adatot, majd ezt kirajzolja egy PyQtGraph vonalgrafikonra. Van is már egy működő verzió, de szeretnénk neki GUI-t is csinálni. Ugye erre a legkézenfekvőbb ebben az esetben a PyQt és ez működik is nagyjából. Azonban azt sehogyan sem tudom megoldani, hogy az érkező adatokat a grafikon real-time rajzolja ki, ebben kérném a segítségeteket. A kód többszálúsítva van, idáig eljutottam már, ezt QThread segítségével csináltam meg. Tudna nekem segíteni valaki, hogy mit rontok el? Nem konkrét megoldásra lenne szükségem, inkább iránymutatásra (tanulni szeretnék, nem készen megkapni a megoldást). Remélem van valaki, aki tud nekem segíteni, előre is köszönöm!!
import sys
import socket
from pyqtgraph import PlotWidget
from PyQt5 import QtCore, QtWidgets, QtGui
from PyQt5.QtCore import QThread
IP = ""
PORT = 333
DATA = [] #ez az, ahova a tcp bepakolja az adatot, és innen is veszi ki a grafikon is; egyszerre használja a kettő
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(280, 248)
#MainWindow.setWindowIcon(QtGui.QIcon('wifi.png'))
self.connect_button = QtWidgets.QPushButton(MainWindow)
self.connect_button.setGeometry(QtCore.QRect(150, 10, 91, 23))
self.connect_button.setObjectName("connect_button")
self.IPinput = QtWidgets.QLineEdit(MainWindow)
self.IPinput.setGeometry(QtCore.QRect(10, 10, 131, 20))
self.IPinput.setObjectName("IPinput")
self.plotItem = PlotWidget(MainWindow)
self.plotItem.setGeometry(QtCore.QRect(10, 40, 256, 192))
self.plotItem.setObjectName("graphicsView")
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Client"))
self.connect_button.setText(_translate("MainWindow", "Connect to host"))
class programManager(QtWidgets.QWidget, Ui_MainWindow):
def __init__(self):
super(self.__class__, self).__init__()
self.setupUi(self)
self.connect_button.clicked.connect(self.backgroundWorkerManager)
self.IPinput.textChanged[str].connect(self.onChangedIP)
def backgroundWorkerManager(self):
self.bgw = backgroundWorker()
self.bgw.start()
self.plotDraw = plotDraw()
self.plotDraw.start()
def onChangedIP(self, text):
global IP
IP = text
class plotDraw(QtCore.QThread):
def __init__(self):
pass
def __del__(self):
self.wait()
def run(self):
pass #ide akartam a grafikon frissítését beilleszteni, de nem működött
class backgroundWorker(QtCore.QThread):
def __init__(self):
QtCore.QThread.__init__(self)
def __del__(self):
self.wait()
def run(self):
print(IP)
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.connect((IP, PORT))
MESSAGE = "HELLO I\'M CONNECTED"
self.sock.send(MESSAGE.encode())
while True:
DATA.append(int(self.sock.recv(2048)))
print(DATA)
self.sock.close()
def main():
app = QtWidgets.QApplication(sys.argv)
gui = programManager()
gui.show()
sys.exit(app.exec())
if __name__ == '__main__':
main() -
-
Sziasztok, hogyan lehet a kliens oldalon egymás után több üzenetet is fogadni? Kell hozzá vmi a szerver oldalon is?
Konkrét példa:
Szerver oldal:
def handle_client(client_socket):
request=client_socket.recv(1024)
client_socket.send("Connected to region " + srvregionidentifier)
client_socket.send(srvregionidentifier)
client_socket.close()Kliens oldal:
response=client.recv(4096)
regionidentifier=client.recv(4096)
print regionidentifier
print responseAmikor csatlakozni akarok a klienssel, hibaüzenet jön:
Traceback (most recent call last):
File "./janus-client.py", line 26, in <module>
regionidentifier=client.recv(4096)
socket.error: [Errno 104] Connection reset by peerTudja vki, hogyan tudom fogadni a kliens oldalon a szerver második üzenetét?
-
cousin333
addikt
válasz
xAttilax
#1001
üzenetére
Az enumerate egy beépített függvény, ami "végiglépdel" egy lista vagy sztring elemein (karakterein) és minden lépésben két értékkel tér vissza: az elem sorszámával és magával az elemmel. Illusztráció:
>>> for i, char in enumerate("012abc34567de89f"):
... print(f'Az {i}. elem a "{char}".')
...
Az 0. elem a "0".
Az 1. elem a "1".
Az 2. elem a "2".
Az 3. elem a "a".
Az 4. elem a "b".
Az 5. elem a "c".
Az 6. elem a "3".
Az 7. elem a "4".
Az 8. elem a "5".
Az 9. elem a "6".
Az 10. elem a "7".
Az 11. elem a "d".
Az 12. elem a "e".
Az 13. elem a "8".
Az 14. elem a "9".
Az 15. elem a "f".Mondjuk én nem erőltetném a kettős for ciklust, inkább így csinálnám:
lista = input('Írd be a karakterláncot: ')
osszeg = 0
for char in lista:
if char in ("0123456789"):
osszeg = osszeg + int(char)
print('A szamjegyek osszege: ', osszeg)Ugyanez két sorba összevonva:
lista = input('Írd be a karakterláncot: ')
osszeg = sum([int(char) for char in lista if char in ("0123456789")]) -
-
xAttilax
őstag
Sziasztok!
Most kezdtem el pythont tanulni, minden előképzés nélkül, pusztán kíváncsiságból
Választásom kezdésnek Kóós Antal: python a gépben című könyvére esett. Haladok is szépen (lassan) viszont van egy feladat amit nem igazán tudok megoldani a könyvben olvasottak alapján, vagy csak pusztán a enumerate függvény lényegét nem értem:"Az input() utasítással kérjünk be egy karakterláncot, és adjuk össze a benne szereplő
számjegyeket! Pl. az „abcdef512uuu9m” esetén az összeg 17 lesz. Tippek: külső for ciklus a
lánc karaktereire; belső for ciklus a karakternek az enumerate(„0123456789”) objektum
általi tartalmazásának ellenőrzésére; utóbbiban az index egyben a szám értékét is megadja."ez lenne a feladat de nem igazán értem, hogy a enumerate(„0123456789”) hogy adná össze a számokat.
segítségetek előre is köszönöm!
Új hozzászólás Aktív témák
- Autós topik
- Torda: Így lehet fillérekből prémium okosotthon rendszert építeni 2025-ben
- Linux haladóknak
- Okos Otthon / Smart Home
- VoLTE/VoWiFi
- Kecskemét és környéke adok-veszek-beszélgetek
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Gaming notebook topik
- gban: Ingyen kellene, de tegnapra
- Bittorrent topik
- További aktív témák...
- Lenovo Thinkpad P1 Gen 6 - i9-13980HX, 32GB, 2TB SSD, 16" WQUXGA (3840 2400), RTX 4090
- 15.gen! Intel Core Ultra 9 285K +16-32GB DDR5 RAM +hűtött VRM-es Z890 lap! GAR/SZÁMLA (a Te nevedre)
- OP AudioCodes C450HD Ip Phones - Szines kijelzős - Teams/ Zoom telefon - Új dobozos
- ATEN Cat 5 KVM over IP Switch Altusen KH1508AI - Új ára 284.000Ft
- AirPort Extreme 802.11n (3rd Generation) Model A1301 -
- Bomba ár! Lenovo IdeaPad V15-IIL: i5-10GEN I 8GB I 256SSD I 15,6" FHD I Cam I W11 I Garancia!
- Samsung Galaxy S25 Ultra Titanium Jetblack Titán dizájn, 120 Hz AMOLED, AI Pro kamera
- Új FULL HD webkamera + Számla
- Lenovo ThinkPad T14s Gen 3 i5-1245U 14" FHD+ 16GB 1TB 1 év teljeskörű garancia
- Windows 10 / 11 Pro Retail aktiváló kulcs Azonnal szállítással, számlával, garanciával!
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
)


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




)
. Az oldalszám alapján elég alapos, de ennyiért nekem nem kéne.

