Új hozzászólás Aktív témák
-
AeSDé Team
őstag
Sziasztok!
Szeretnék jövőre emelt szintű infó érettségit tenni és ezen a pályán tanulni tovább, de egyedül vagyok ezzel az évfolyamomon és egyik tanár sem szeretne nekem különórákat adni programozásból.
Elkezdtem tehát otthon tanulni a python nyelvet ingyenes oktató anyagok és youtube videók alapján. Ebben a formában viszont már kissé unom a dolgot, szeretnék már alkotni is, és ilyen módon tanulni új dolgokat. Csináltam már néhány saját projektet, például egy kérdés-válaszon alapuló "játékok" aminek a mentési/visszatöltési rendszerén és logikai felépítésén napokat dolgoztam, vagy például egy oszthatósággal foglalkozó programot aminek ismereteim bővülésével folyamatosan írom az újabb, egyszerűsített verzióit.Szóval szeretnék tippeket kérni arra hogy mihez fogjak hozzá, esetleg örülnék ha tudnátok pár olyan oldalt amik fokozatosan nehezedő feladatokat tartalmaznak, ilyeneket egyenlőre nem találtam. Érettségi feladatokkal próbálkoztam, de azok egyenlőre túl bonyolultak nekem, ennyire még nem vagyok jártas a programozásban.
Köszönöm a segítséget, és bocs a regényért
-
AeSDé Team
őstag
Sziasztok!
Lenne egy kérdésem FTP-vel kapcsolatban
Az ftplib .storlines parancsával fájl objektumokat lehet eltárolni FTP szerverre. A kérdésem az lenne hogy hogyan lehetne ezt a függvényt string-el etetni fájl objektum helyett? (ergó hogyan konvertálhatok stringet "file-objectté)
Jelenleg úgy néz ki a programom, hogy a stringet lementi fájlba, majd beolvassa a fájlt bufferelve, és a beolvasott objektumot küldi FTP szerverre. Hogyan ugorhatnám át a felesleges írást/olvasást HDD-ről? -
AeSDé Team
őstag
Köszi, próbálkoztam de valami nem stimmel.
Létre tudom hozni a StringIO objektumot, és a .write -al hozzáadom a szükséges adatot.
Ezután a .getvalue() beolvassa az adatokat, és minden stimmel.
A gond az hogy az ftplib .storelines funkciója nem getvalue, hanem .readline -al olvas, és valamilyen okból az üresen tér vissza. Nincs error, de a fájl amit a szerveren létrehozok, üres lesz.Kódrészlet röviden:
# FTP upload
import ftplib
import io
ftp = ftplib.FTP(SERVER_IP)
ftp.login(USER, PASSWORD)
myfile = io.StringIO()
myfile.write(CONTENT)
ftp.storlines("STOR " + NAME, myfile)
print (myfile.getvalue()) # Itt nincs gond, megvan az adat
print (myfile.readline()) # Ez üresen tér vissza[ Szerkesztve ]
-
AeSDé Team
őstag
A bemásolt leegyszerűsített kód nem tartalmaz directory váltást, de az eredetiben szerepel a megfelelő rész. Nem is ott lesz a gond, hanem valahol máshol. Most egy lépést tettem előre a .seek(0) beépítésével, mert most már a readline működik, de az FTP feltöltős odul még mindig nem hajlandó elfogadni az adatot, ezúttal errorral.
File "D:\Applications\Python\lib\ftplib.py", line 537, in storlines
if buf[-1] in B_CRLF: buf = buf[:-1]
TypeError: 'str' does not support the buffer interface# FTP upload
import ftplib
import io
ftp = ftplib.FTP(SERVER_IP)
ftp.login(USER, PASSWORD)
if DIR:
ftp.cwd(DIR)
myfile = io.StringIO()
myfile.write(CONTENT)
myfile.seek(0)
ftp.storlines("STOR " + NAME, myfile) # Ez a sor ad hibaüzenetet[ Szerkesztve ]
-
AeSDé Team
őstag
válasz AeSDé Team #431 üzenetére
Éljenek a bájtok Már működik.
Egy dolog maradt amire rá kell még jöjjek, a fájlba írt adat végére tesz egy pontot, ami nem tetszik.myfile = io.BytesIO()
myfile.write(bytes(CONTENT, 'UTF-8'))
myfile.seek(0)
ftp.storlines("STOR " + NAME, myfile)
print("OK")Köszönöm a segítségeteket
[ Szerkesztve ]
-
AeSDé Team
őstag
Vajon hogyan valósíthatnám ezt meg?
Szeretnék egy színes LED-et relatíve sötét háttér mellett követni webkamerával, és kalibrálható koordináta transzformációs megoldással az egeret mozgatni vele.
Úgy néztem hogy az OpenCV bővítmények bírnak hasonló képességekkel, valaki tudna tippet adni hogy merre induljak el? Bármilyen webkamera ideális lehet vagy vannak fejlesztő-barátabb példányok? Izgalmas projekt lenne a nyárra.Később érdekes lehetne egy pisztoly-szerű hardvert építeni hozzá ami több színkódra is képes, pl. jobb és bal kattintások is jelezhetőek lennének. De egyenlőre maradjunk 1 színnél.
-
AeSDé Team
őstag
-
AeSDé Team
őstag
Sziasztok!
Egyetemi kurzusaim során sokat foglalkoztunk C# és Java programozással, és az őket támogató Visual Studio-val, illetve NetBeans-el.
Azt kell hogy mondjam, hogy eszméletlenül elégedett vagyok a fenti két IDE-vel, nagyon tetszenek a bennük lévő kényelmi funkciók.Például:
- Ctrl + Space-t nyomva felkínálják nekem az összes lehetőséget, amire adott ponton hivatkozhatok
- jelzik a szintaktikai hibákat
- javítási lehetőségeket kínálnak fel
- támogatják bizonyos kódrészletek generálását (kivételkezelés, class, konstruktor, ciklusok és elágazások)Python-hoz eddig IDLE-t, Atom text editort, és PyCharm-ot próbáltam, és csak nyomokban találkoztam a fenti funkciókkal. Ismertek ilyen IDE-t, esetleg olyan pluginokat, amelyekkel ezek elérhetőek lennének valamilyen környezetben?
[ Szerkesztve ]
-
AeSDé Team
őstag
Köszi, közben újra nekiestem az IDE-nek és megtaláltam 1-2 dolgot.
Bizonyos nagyon alap metódusoknál (pl. print) Ctrl+Space hatására tényleg kiegészít, van ahol viszont nem szeretne. Például a következő kódban:
[példa]16. sor: ha nem adok meg konstruktor paramétert, fogalma sincs, hogy oda egyébként kellene egy.
Illetve van neki, sárga aláhúzás, meg "Parameter 'number' unfilled...", de amikor ott állok a kurzorral akkor ezt nem lehetne valahogyan jelezni?17. sor: dettó
17. sor: ha megadok egy paramétert, nem kínálja fel azt, hogy annak a metódusnak vannak más paraméterei is, csak éppen van default értékük.19. sor: előbbi hiba, szintén nem kapok tájékoztatást arról, hogy milyen lehetőségeim lennének a random.randrange() paraméterezésére. NetBeans alatt például megkapnám a komplett listát arról, hogy milyen paraméterezéssel hívhatnám meg az adott metódust.
Ez pedig számomra hatalmas segítség, főleg akkor amikor ismeretlen objektumokkal van dolgom és fogalmam sincs arról, hogy még 5 féle módon tudnám paraméterezni az adott objektumot, csak éppen az IDE nem tájékoztat róla.
Nagyobb projekteknél pedig szerintem nem várható el, hogy én minden paraméterlistát ismerjek, vagy állandóan ott legyen előttem az összes osztály dokumentációjával.[ Szerkesztve ]
-
AeSDé Team
őstag
Sziasztok!
Készítenem kell egy Python alkalmazást Linux platformra, amely röviden a következő koncepciókat foglalja majd magában:
- több panelből álló grafikus interfész
- eseményvezérelt logika, mely mind az interfész, mind pedig soros-porton érkező bemenetekre képes reagálni
- több felhasználó munkájának asszinkron követéseValaki tud olyan kurzust, oldalt, irodalmat ajánlani, ahol arról regélnek, hogy hogyan lehet jól strukturáltan létrehozni egy ilyen komplexitású, grafikus interfészt is tartalmazó projektet?
Nem egészen tiszta számomra, hogy hogyan is kellene megvalósítanom Pythonban egy MVC dizájnt, hogyan szeparálom a kódomat több fájlba az importok teljes összekavarodása nélkül, és hogyan fogom a GUI-tól független szálon csekkolgatni az egyéb folyamatokat.Nem új számomra a koncepció, írtam már Java-ban, C#-ban hasonlóan bonyolult grafikus alkalmazást, viszont szükségem lenne egy kis útmutatásra hogy hogyan valósíthatom meg ezt a dizájnt Python-ban.
-
AeSDé Team
őstag
Sziasztok!
Próbálok egy MVC modellre hajazó GUI alkalmazást létrehozni, és készítése közben bele futottam pár körkörös import problémába.
Van például egy controller.py fájlban lévő Controller osztályom, ami létrehoz egy app.py fájlban lévő App objektumot, és átad neki egy referenciát önmagára azért, hogy később az App osztály példánya tudjon információt kérni a Controller osztály példányától, és ne kelljen direktben az adatelérési réteghez fordulnia.A program egyszerűsített vázlata:
controller.py:
from app import App
class Controller:
def __init__(self):
self.app = App(self)def get_information(self):
return "some information"app.py:
from controller import Controller
class App:
def __init__(self, controller: Controller):
self.controller = controller
print(self.controller.get_information())Az app.py -ban található Controller import pusztán azt a célt szolgálja, hogy működjön PyCharm-ban a kódkiegészítés, és lássam a Controller osztály metódusait.
Emlékeim szerint Java nyelven simán megtehettem, hogy két osztály egymást importálja és egymásra hivatkoznak, persze egészen addig amíg nem írok végtelen ciklust. Pythonban hogyan érhetem el ugyan ezt a hatást? Azon kívül persze, hogy a két osztályt azonos .py fájlban helyezném el.Amennyiben az app.py definíciójából kihagyom a Controller osztály importját, és a konstruktorában a controller paramétert nem típusosan adom meg, a probléma megszűnik. Én viszont szeretném ha meglenne az az import hogy kódkiegészítést kaphassak az objektumra, ezt milyen módon érhetném el?
[ Szerkesztve ]
Új hozzászólás Aktív témák
- Nyaralás topik
- Milyen TV-t vegyek?
- Szárba szökken a Galaxy Buds 3 Pro
- Épített vízhűtés (nem kompakt) topic
- Synology NAS
- Genshin Impact (PC, PS4, Android, iOS)
- Nem indul és mi a baja a gépemnek topik
- Kerékpárosok, bringások ide!
- Ukrajnai háború
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen