Új hozzászólás Aktív témák
-
eldvor
csendes tag
Sziasztok!
Van egy kódom ami kiolvassa DHT11 szenzor értékét és betölti egy db táblába.
Az szeretném megoldani, hogy végtelen ciklusba fusson bizonyos időközönként, De a whlie ciklus beiktatását valahol elrontottam. Tudnátok segíteni?#!/usr/bin/python
import sys, MySQLdb, Adafruit_DHT, datetime, time
#
pin = 17
#
sensor = Adafruit_DHT.DHT11
#
db = MySQLdb.connect(host='localhost',user='logger', passwd='*******', ,db='home')
#
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
dt = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
#
while True:
humidity is not None and humidity >= 0.0 and humidity <= 100.0 and temperature is not None and temperature > -100.0 and temperature < 150.0:
cur = db.cursor()
cur.execute("INSERT INTO TH(THdate, THtemperature, THhumidity) VALUES ('" + dt + "'," + str(temperature) + "," + str(humidity) + ")")
db.commit()
cur.close()
del cur
db.close()
time.sleep(300) -
Janos46
tag
Sziasztok.
Minap kísérletezgettem programokkal a GPIO csatlakozókat használva. Az egyik program viszonylag rövid időn belül elkezdett renitensen működni. Vizsgálódás után rájöttem, hogy a GPIO4-es csappal van valami gond. Ezért egy egyszerű villogtató áramkörrel végig vizsgáltam az összeset. Az eredmény az lett, hogy mindegyik csapon akár egy percig is futott a program, kivéve a fent említettet. Azon ugyanis 5-6 villanás után leállt a művelet. Kicsit várakozva és újra indítva (többször is) az eredmény nem változott. 220 ohmnál már csak egyet villant. Úgy gondolom, hogy annak a csapnak az elektronikája megadta magát. Ettől még a Pi4 nem kuka, csak éppen azt nem lehet használni. Vélemény? -
Siriusb
veterán
válasz
Siriusb
#2591
üzenetére
Mégsem jó így - sem - a schwifty modul, mert a 8. számjegyet lehagyva rossz ellenőrző számot ad vissza a 'HU' után.
Mondjuk így ránézésre - a dokumentum alapján, amire hivatkozol - nem tűnik bonyolultnak megírni hozzá egy konvertáló függvényt, bár még mindig marad a hitelesítés kérdése. Ennyit munkát már nem ér meg belefeccölni az esetemben.
-
válasz
Siriusb
#2588
üzenetére
Ha csak ellenőrző szám kell, akkor itt az MNB rendelet ami magyarul leírja, hogy kell számolni a számlaszámból: https://www.mnb.hu/letoltes/iban-ellenorzoszam-hu.pdf
8. számjegy és 16. vagy 24. számjegy kiszámítása: 2009/18. MNB Rendelet 1 függelék 1/c:
c) az ellenőrző számok az előttük álló számjegyek ellenőrzésére szolgálnak, melyeket a következő algoritmus szerint kell képezni: külön az 1-7., valamint külön a 9-15. vagy 9-23. számjegyeket helyi értékük csökkenő sorrendjében meg kell szorozni a "9, 7, 3, 1 … 9, 7, 3, 1" számokkal, a szorzatokat össze kell adni, és az eredmény egyes helyi értékén lévő számot ki kell vonni 10-ből. A különbség az ellenőrző szám. (Ha a különbség "10", az ellenőrző szám értéke "0".) -
válasz
Siriusb
#2588
üzenetére
https://www.iban.com/calculation-api
BTW melyik bankban nem 7 számjegy a bank code?
Mert az MNB rendelet alapján így néz ki az első 8:
3 karakter - bank kód
4 karakter - fiók azonosító
1 karakter - ellenőrző-összeg
https://www.mnb.hu/en/payments/mnb-as-payment-authority/routing-table -
Siriusb
veterán
Valaki tud IBAN generátort, ami magyar bankokkal működik? Úgy látom, a schwifty-t elszúrták, mert a magyar bank code-t 7 karakter hosszúságban maximalizálták.
Nem fontos, csak érdekességképpen kellett volna.
-
cousin333
addikt
válasz
cousin333
#2582
üzenetére
A Python osztályokhoz (mint az OOP-k zászlóshajójához) kapcsolódó kötelező videó:
Python's Class Development Toolkit -
cousin333
addikt
válasz
Tigerclaw
#2579
üzenetére
A Python hivatalosan "multi paradigm", de az OOP erősen jelen van már az alapoknál. Tekintve hogy pl. az "egész szám" is egy osztály, saját metódusokkal... stb., inkább tekinteném olyan OO nyelvnek, ami nem tolja ezt az arcodba.
A Python alapvetően más, mint sok ismert nyelv, és ez az OO terén is megjelenik. Szerintem nagyon is használható OO nyelvként, nem hiányzik belőle semmi, csak bizonyos dolgokat máshogy kezel. Absztrakt osztályok vannak benne, öröklés szintén. Adatrejtés elve is benne van, de Raymond Hettinger szerint a Python egy "consenting adult" nyelv. Szóval nincs olyan, hogy privát változó (csak privát-szerű, lásd _a vagy __a), de a paramétereket, metódusokat szépen modulokba, fájlokba, osztályokba szervezheted, definiálhatsz osztályokat osztályokon belül... stb. Nekem eddig semmi nem hiányzott belőle a legfontosabb, hogy mindent úgy használj, ahogy megtervezték, és ne próbált a C++, Java stb. gondolatiságot beleerőltetni.
"mint egy klasszikus OOP nyelv"
És milyen lenne az a klasszikus OO nyelv?
Mint mondjuk a Java, ahol osztályok nélkül kb. mozdulni se tudsz? Vagy a C++ ami egy tuningolt C?"Dobálom ki a metódusokból a visszatérési értéket, az argumentum tipusokat"
Ami nem kell az minek is
Kb. mint a váltó, a kettős tömegű lendkerék meg a kipufogórendszer egy villanyautónál.nincs abstract osztály
De van, a célnak szerintem megfelel.
"nincs többszörös konstruktor"
De van. Lehet, hogy egy kicsit más jellegű, de lényegét tekintve ugyanaz.
"Muszáj vagyok commentbe tenni a listák, dictionaryk esetén, hogy milyen tipusra terveztem azokat."
Ez meg inkább csak egy rossz beidegződés, mint a C-s for ciklus:
for i in range(len(elemek)):print(elemek[i])vs.
for elem in elemek:print(elem)Pont az a lényeg, hogy nem előre kell típusra tervezni. Duck typing for president

"hogy tudok expliciten tipust kapcsolni a változókhoz"
Nem tudok ilyesmiről. Gondolom a type hint-re gondolsz, de az nem sokkal több, mint amit a neve sugall. Alapvetően azért van, hogy a statikus kódelemzők, meg az IDE-k működését segítse. Odaírhatod, hogy -> int, aztán visszatérhetsz egy szöveglistával

"Python namespace, scope, hogy aztán visszarakjam a láthatóságot a minimumra."
Engem meg pontosan ez a fene nagy titkolódzás zavar a többi nyelvbe. Csak arra jók, hogy mindent megbonyolítsanak, és elfedjék a komplexitásból következő problémákat. Egy rendes, jól strukturált Python programmal ezek jórészt kivédhetők, vagy eleve nem jelentenek gondot.
Tehát a lényeg, hogy a Python nagyon is OOP, a különbség nem a Python OOP és a többi OOP, hanem inkább a Python és a többiek között van. Nem akarom azt sugallni, hogy a Python minden megoldása van olyan jó, mint a többieké, vagy hogy mindent ugyanúgy megtehetsz, mint más nyelvekbe, de a saját logikája alapján jól működik, és szerintem elég jól meg van tervezve, a részek szépen összeillenek. Kivéve talán az enum, meg a switch-case...
Ezért is tűnik kicsit "veszélyesnek", ha 1:1-ben próbálod átfordítani a meglévő programodat. A Pythonnak nem csak a szintaxisa más, hanem a logikája is. Amúgy a Python is erősen típusos, próbálj csak meg összeadni egy sztringet meg egy számot.
-
Tigerclaw
nagyúr
A Python-t mennyire sűrű használják OOP szerűen?
Anno mi procedurális nyelvként használtuk tanulás közben és most épp átírok egy C# appot Pythonra és azzal szembesülök, hogy ha lehet is OOP szerűen használni, egész más mint egy klasszikus OOP nyelv. Dobálom ki a metódusokból a visszatérési értéket, az argumentum tipusokat, nincs abstract osztály...legalábbis ne úgy, nincs többszörös konstruktor. Muszáj vagyok commentbe tenni a listák, dictionaryk esetén, hogy milyen tipusra terveztem azokat. Szóval elég fura. Azt már elvileg megtaláltam, hogy hogy tudok expliciten tipust kapcsolni a változókhoz. Dobálom ki egyenlőre a sok láthatósági módosítót, meg olvasgatom, hogy milyen a Python namespace, scope, hogy aztán visszarakjam a láthatóságot a minimumra.
Szóval elég fura. Mintha az OOP bevezetése még épp csak most kezdődne a Python esetén. Persze amúgy csípem a Python egyszerűségét, csak fura átállni egy erősen típusos, szigorúan kötött láthatóságú nyelv után használni.
-
-
lived1986
csendes tag
Sziasztok!
Csak pár napja kezdtem el foglalkozni a Pythonnal.
Már régóta foglalkoztatott a programozás. Úgy gondoltam kezdésnek ez lesz a legjobb...
Bevetetőnek ennyi
Viszont olyan gondom van, hogy most néztem át a számításokat.
Osztásnál, nem osztja le tizedes pontosan.
Pl. a 10/4 - 2 nem pedig 2.5.
Viszont a példa ahol mutatták, ott 2.5-t kapott az illető.
Két gépen is kipróbáltam is mind kettőnél egészszámosan oszt, mint ha //-l csinálnám.
Tudtok segíteni ebben hogy ez miért van? Esetleg a programot kell úgy beállítani?
PyCharm-t használok.A másik, hogy az ASCII kódok támogatását hogy tudom beállítani? Tudom hogy angolul kell és ékezetek nélkül kell írni, de néha az ember elfelejti és 'negy' helyet 'négy'-et ír.
A harmadik, pedig hogy tudnátok küldeni oktatási anyagot nekem még?
Köszönöm szépen a segítségeket előre is! -
-
mdk01
addikt
Sziasztok,
Érdeklődnék, hogy ki milyen webszervert használ?
Magyar van, vagy jobb valami külföldi?
Köszönöm -
Van valakinek tapasztalata pymongo-val?
MongoDB-ben szeretnék dokumentumokat tárolni, amiket egy blockchainre teszek rá. Amíg memóriában fut a cucc, minden rendben, de amint kiírom az adatot mongoba, hozzáadja az objectid-t is a memóriában lévő változóhoz is, így viszont nem megy a chain lekérdezése böngészőből, mert az objectid nem json adat.
Próbáltam saját json encodert, de az égvilágon semmi sem történt. Ezenkívül akárhová teszem a kiíró parancsot (adatbevitelhez, validációhoz, webes lekérdezéshez), azonnal megjelenik az objectid a memóriában lévő változóban.
-
samujózsi
senior tag
Hátha érint valakit: eltávolítják a Python2-t az Ubuntu 20.04-ből.
-
Korcsii
őstag
válasz
kovisoft
#2563
üzenetére
Szuper, köszi, működik!
Elvileg szerintem is illene tudnia az éjezeteket, de nem egyszerű a helyzet, asterisk telefonkönyvébe megy át az import carddavból, és az viszont kihalt, ASCII-t kért. Majd még szerintem futok egy kört később. (Eleve telefonkönyvbe imporálgatás helyett valós időben lenne jobb lekérni)
-
samujózsi
senior tag
válasz
Korcsii
#2561
üzenetére
Ennek nézz utána, mert már a Nokia butatelefonom is kezelt ékezeteket, szóval nem sima ASCII kódolást használt és az már jó rég volt...
Sajnos fogalmam sincs, milyen megoldások vannak a konverzióra (egyébként az sem mindegy, hogy 2-es vagy 3-as python - bár azt hiszem, manapság nem jellemző a 2-es) -
Korcsii
őstag
Sziasztok!
Már vagy 12 órája foglalkozok a nyelvvel
, természetesen rögtön sürgős feladat miatt kell módosítani egy kódot, és lenne egy kérdésem (string kezelés lehetőségeit még nem teljesen látom át):UTF8 szöveg átalakítása ASCII-ra, lehetőleg ékezetes betűk megtartásával, minden más mehet a kukába.
ascii = utf8.encode("asci","ignore")
Ez eddig tiszta, viszont így az összes speciális karakter elveszik, az ékezetes betűk is.
Átmenetileg nem feltétlenül baj, ha kérdőjelek jelennek meg helyette (kitalálható, nevekről van szó), így most ignore helyett replace lett.Viszont valószínűleg a xmlcharrefreplace / backslashreplace / namereplace lenne a megoldás, majd valahogy cserélgetni utólag.
Vagy már a konverzió előtt, akár az ékezet nélküli párjára (a célra az is teljesen megfelelne, a hívó fél kijelzésére kellene telefonon).
Bármilyen útmutatást előre is köszönök!
-
válasz
samujózsi
#2554
üzenetére
Pont ezért nincs is relevanciája ennek a kérdésnek itt. Sem a téma nem stimmel, sem a nyelv. Próbáld meg valamelyik általános vagy célirányos topicban:
https://logout.hu/tema/programozas_forum/friss.html
https://logout.hu/tema/c_programozas_2/friss.html
https://logout.hu/tema/arduino/friss.html -
samujózsi
senior tag
válasz
sztanozs
#2553
üzenetére
Bocs, most nem néztem utána, szóval csak a sok éves emlékeim: úgy tudom, az, amit mi Python-ként ismerünk, azt szokták C Python néven is emlegetni, mert jóformán a teljes környezete C-ben (C++??) íródott, a modulok javarészt csak python interface-ek a C-ben írt library-khez. Egyébként ezért tud olyan gyors lenni, hogy esetenként közelíti a gépikódra fordított C programok sebességét is.
De ahogy te is írod, ezek modulok. A python programok azok pythonban íródtak, azért python programok.

-
Janos46
tag
Sziasztok!
Ha az Arduino UNO-nak az USB-re dugva a középső LED-je azonnal állandóan villog, az problémát jelent? Mert egyébként semmit nem tudok futtatni rajta. Előre is köszönném a választ. -
hpeti2
aktív tag
Sziasztok!
Egy egyszerű problémán nem tudok túllépni.
Ubuntu 18.04$ python3 -V$ Python 3.6.9
python 2 nincs (így python parancs sincs csak python3)
felraktam egy modult így:python3 -m pip install pyzabbixUser home alá települt
$ tree ~/.local/lib/python3.6/site-packages/pyzabbi*
/home/ubuntu/.local/lib/python3.6/site-packages/pyzabbix
├── __init__.py
└── __pycache__
└── __init__.cpython-36.pyc
/home/ubuntu/.local/lib/python3.6/site-packages/pyzabbix-0.7.5.dist-info
├── DESCRIPTION.rst
├── INSTALLER
├── METADATA
├── RECORD
├── WHEEL
├── metadata.json
└── top_level.txtPythonban ellenőrizve path alatt elvileg látszik a mappa:
>>> import sys>>> print(sys.path)['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/ubuntu/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']Hivatalos IDE-be be tudtam importálni és használni (először), de fájlból nem megy. Ráadásul ezután már az IDE-ben ugyan azt a hibát dobja:
$ ./pyzabbix.pyTraceback (most recent call last):File "./pyzabbix.py", line 3, in <module>import pyzabbixFile "/home/ubuntu/pyzabbix.py", line 5, in <module>zapi = pyzabbix.ZabbixAPI("192.168.69.16")AttributeError: module 'pyzabbix' has no attribute 'ZabbixAPI'Tehát egy reboot után is egyből ezt kapom:
$ python3Python 3.6.9 (default, Nov 7 2019, 10:44:02)[GCC 8.3.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import pyzabbixTraceback (most recent call last):File "<stdin>", line 1, in <module>File "/home/ubuntu/pyzabbix.py", line 5, in <module>zapi = pyzabbix.ZabbixAPI("192.168.69.16")AttributeError: module 'pyzabbix' has no attribute 'ZabbixAPI'>>>
Hogyan lehet ezen segíteni?
Miért kapom vissza a modul importálásakor a korábbi hibaüzenetet?Ui ZabbixAPI létezik:
$ cat ~/.local/lib/python3.6/site-packages/pyzabbix/__init__.py | grep ^classclass _NullHandler(logging.Handler):class ZabbixAPIException(Exception):class ZabbixAPI(object):class ZabbixAPIObjectClass(object): -
Janos46
tag
Bütykölőknek!!!
Arduino-ra több száz project: https://create.arduino.cc/projecthub -
justmemory
senior tag
válasz
fpeter84
#2544
üzenetére
Igen, úgy van, ahogyan írod. Nem tudtam hol, mihez használod, de így értem. Azért ajánlottam, mert nekem még komplett scriptjeim vannak a youtube-dl kapcsán...
Én is használom a qpython-t; nekem a névnapokat adja be minden nap értesítésként. De van sok lehetőség benne. -
fpeter84
senior tag
válasz
justmemory
#2535
üzenetére
Most volt időm ránézni - ez a Termux ugye nem csak egy Python csomag / IDE, hanem komplett linux környezet amiben többek között Python is van / telepíthető repo-ból? Akkor ez nekem nem igazán jó, mert nem akarok szórakozni az indítgatásával - ez egy autós 10 colos fejegység, ami sajnálatos módon minden alvásba lépésnél lezúz minden futó app-ot, tehát nem lehet csak úgy a háttérben hagyni ilyesmit...
Nézegettem még az alternatív Python csomagokat play-en, de azthiszem marad a QPython3 - ha egyszer feltelepítettem, akkor el sem kell indítani magát a grafikus felületét - picit macerásabban mint egy átlagos linux disztrón, de simán lehet vele utána shell scriptbe, init.d-be stb ágyazott programokat futtatni a háttérben
-
samujózsi
senior tag
válasz
justmemory
#2541
üzenetére
Félreértesz: megnéztem a termuxban azt a cert file-t, de nemntudtam eldönteni, hogy valóban az-e, amire gondolok (CA tanúsítványok gyűjteménye), de végül megtaláltam a fenti két parancsot, ami megmutatta, hogy valóban az.
-
samujózsi
senior tag
válasz
justmemory
#2539
üzenetére
Bocs, az kimaradt, hogy a cat, vim és társaik csak a base64 kódolású karakterhalmazokat mutatják.
Amit látni akartam, azt ez mutatja meg:
openssl crl2pkcs7 -certfile cert.pem -nocrl| openssl pkcs7 -noout -print_certs -
samujózsi
senior tag
válasz
justmemory
#2537
üzenetére
Nagy gáz lenne, ha ehhez root jog kéne

-
samujózsi
senior tag
válasz
justmemory
#2535
üzenetére
Viszont (most néztem meg) akkor ott van a /data/data/com.termux/files/usr/etc/tls alatt a cert.pem

Csak azt nem tudom, a benne lévő certificate-eket hogy lehet megnézni.
-
fpeter84
senior tag
válasz
samujózsi
#2533
üzenetére
sikerült is megtalálnom a megoldást: ha hozzáírom a paraméter sorhoz a --no-check-certificate -et akkor mostmár működik a droidon is... ugye ezzel max annyi veszélyt vállalok fel, hogyha valaki meghekkeli a kapcsolatot akkor lehet a pornhub-ról töltet le velem valami csúfságot a kiszemelt mix videó helyett?
szóval jó ez így, nem kell aggódnom? -
samujózsi
senior tag
-
fpeter84
senior tag
Sziasztok!
Android alatt szeretném beüzemelni a python alapú youtube-dl -t... Feltelepítettem a QPython3-at, abban pip-ben a youtube-dl -t, majd parancssorból próbálkoztam:
8227L_demo:/data/data/org.qpython.qpy3/files/bin # ./qpython3-android5-root.sh youtube-dl -F https://www.youtube.com/watch?v=bvn-G9Gs9BY
[youtube] bvn-G9Gs9BY: Downloading webpage
ERROR: Unable to download webpage: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:841)> (caused by URLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:841)'),))Ugyanez unix és win környezetből tökéletesen működik:
D:\YT>youtube-dl -F https://www.youtube.com/watch?v=bvn-G9Gs9BY[youtube] bvn-G9Gs9BY: Downloading webpage[youtube] bvn-G9Gs9BY: Downloading video info webpage[info] Available formats for bvn-G9Gs9BY:format code extension resolution note249 webm audio only tiny 53k , opus @ 50k (48000Hz), 7.15MiB250 webm audio only tiny 77k , opus @ 70k (48000Hz), 8.86MiB140 m4a audio only tiny 131k , m4a_dash container, mp4a.40.2@128k (44100Hz), 19.61MiB251 webm audio only tiny 154k , opus @160k (48000Hz), 17.14MiB278 webm 256x144 144p 111k , webm container, vp9, 25fps, video only, 13.60MiB160 mp4 256x144 144p 127k , avc1.4d400c, 25fps, video only, 15.25MiB242 webm 426x240 240p 243k , vp9, 25fps, video only, 26.15MiB133 mp4 426x240 240p 266k , avc1.4d4015, 25fps, video only, 33.52MiB243 webm 640x360 360p 443k , vp9, 25fps, video only, 44.98MiB134 mp4 640x360 360p 609k , avc1.4d401e, 25fps, video only, 69.36MiB244 webm 854x480 480p 796k , vp9, 25fps, video only, 76.03MiB135 mp4 854x480 480p 1190k , avc1.4d401e, 25fps, video only, 132.52MiB247 webm 1280x720 720p 2164k , vp9, 25fps, video only, 144.75MiB136 mp4 1280x720 720p 2550k , avc1.4d401f, 25fps, video only, 276.19MiB248 webm 1920x1080 1080p 4410k , vp9, 25fps, video only, 280.59MiB137 mp4 1920x1080 1080p 5184k , avc1.640028, 25fps, video only, 579.36MiB43 webm 640x360 360p , vp8.0, vorbis@128k, 114.05MiB18 mp4 640x360 360p 635k , avc1.42001E, mp4a.40.2@ 96k (44100Hz), 96.22MiB22 mp4 1280x720 720p 1952k , avc1.64001F, mp4a.40.2@192k (44100Hz) (best)Ugyanaz a 2020.01.15 verzió fut mindenhol... Az egyértelmű, hogy a droidon is jól átveszi a parancssorból az url-t, de valamiért letölteni már nem képes amit szeretne - se root-al, se anélkül. Tudom hogy kissé keveredik hogy ez most python vagy droidos kérdés, de itt nagyobb valószínűséget adok neki hogy valaki tud segíteni...
-
Janos46
tag
Sziasztok!
A KTeaTime kísérletezés közben véletlenül rájöttem, ha futtatom a - import pygame/pygame.init()-et pythonban, csak akkor ad hangot a program. Ha bezárom a pythont, akkor már nem. A kérésem az lenne, hogy parancssorból futtatható programnak át tudná-e valaki fordítani. Akkor a pythontól függetlenül is lehetne használni úgy, hogy a KTeaTime indítaná. -
IOP1984
csendes tag
Sziasztok!
Egy új programba szeretném ezen script-et egy részét használni:
https://github.com/abarker/pdfCropMargins/tree/master/src/pdfCropMarginsmain_pdfCropMargins.py fájlból a main_crop() függvényt szeretném meghívni.
könyvtárfelépítésem:
- saját fájl: c:\PYTHON\PDF Manipulation\PDF.py
- github letöltött: c:\PYTHON\pdfCropMargins-master\Ha a saját fájlomat a c:\PYTHON\pdfCropMargins-master\bin\ könyvtárba helyezem és a
bin_dir = os.path.dirname(os.path.realpath(os.path.expanduser( __file__)))
package_dir = os.path.abspath(os.path.join(bin_dir, "..", "src"))
sys.path.insert(0, package_dir)
from pdfCropMargins.main_pdfCropMargins import main_cropmódom hívatkozok rá, akkor működik, de nem tudok belőle PDF.exe-t készíteni (pyinstaller), mert az írja, hogy a pdfCropMargins.main_pdfCropMargins nem létező modul.
Hogy tudnék hivatkozni a pdfCropMargins-master scriptre, hogy a fájlomat ne kelljen áthelyezni?
Tudom, hogy a script parancssori argumentumokat várna. A main_crop() függvényt már módosítottam.Segítséget előre is köszönöm.
-
Janos46
tag
Mindenkinek kívánalma szerinti BUÉK.
Python gyűjtemény modul
Ez az oldal a gyűjtemény modulban meghatározott népszerű funkciókat és osztályokat mutatja be . Az elemeket 40 000 nyílt forráskódú Python-projekt népszerűsége alapján rendezik. Ha nem talál jó példát az alábbiakban, akkor kipróbálhatja a keresési funkciót a modulok kereséséhez.
https://www.programcreek.com/python/index/71/collections
https://www.programcreek.com/python/ -
kovisoft
őstag
Nemsokára lejár a Pyhon 2.7 visszaszámláló....
-
Janos46
tag
Sziasztok!
Segítséget szeretnék kérni a következő problémához.
Adott egy program, ami egy nagyobbnak a része lenne. Az alábbi az egyik programnak csak egy részlete, ami elegendő ahhoz, hogy megállapítható legyen a hibája. Ha a programot önállóan, nem pedig a bemutatott környezetben futtatom, akkor működik. A hibajelenség látható is, mert indításnál a Fahrenheit to Celsius rádiógombja fehér a többivel ellentétbe.
Megköszön ha tudnátok segíteni. Üdv. János# Menufrom tkinter import Button,Radiobutton,Tk,Frame,Entry,END,TOP,X,E,W,StringVar,Menubutton,LEFT,Menu,Toplevel,Message,Labelfrom math import sqrt, piimport math# Mértékegység átváltókdef mertekek():def kiszamit():q = eval(mezo1.get())face = (q-32)/1.8 # Celsius/Fahrenheitcefa = (q*1.8)+32 # Fahrenheit/Celsiuskece = q-273.15 # Kelvin/Celsiusceke = q+273.15 # Celsius/Kelvinmezo2.delete(0,END)if var.get() == "face":mezo2.insert(0,str(round(face,4))+" Celsius.")if var.get() == "cefa":mezo2.insert(0,str(round(cefa,4))+" Fahrenheit.")if var.get() == "kece":mezo2.insert(0,str(round(kece,4))+" Celsius.")if var.get() == "ceke":mezo2.insert(0,str(round(ceke,4))+" Kelvin.")def torol():mezo1.delete(0,END)mezo2.delete(0,END)abl9 = Tk()abl9.title("Mértékegység váltó.")txt1 = Label(abl9, text ="Mennyiség ? ")txt2 = Label(abl9, text ="Eredmény: ")var = StringVar()radio1 = Radiobutton(abl9, text="Fahrenheit to Celsius", value="face", variable = var)radio2 = Radiobutton(abl9, text="Celsius to Fahrenheit", value="cefa", variable = var)radio3 = Radiobutton(abl9, text="Kelvin to Celsius", value="kece", variable = var)radio4 = Radiobutton(abl9, text="Celsius to Kelvin", value="ceke", variable = var)gomb1 = Button(abl9, text="Kilépés", command=abl9.destroy)gomb2 = Button(abl9, text="Kiszámol", command=kiszamit)gomb3 = Button(abl9, text="Új számolás", command=torol)mezo1 = Entry(abl9)mezo2 = Entry(abl9)txt1.grid(row =1, sticky =E) # Mennyiségtxt2.grid(row =3, sticky =E) # Eredménymezo1.grid(row =1, sticky =W, column =1)mezo2.grid(row =3, sticky =W, column =1)gomb1.grid(row =2, sticky =E, column =1)gomb2.grid(row =2, sticky =W, column =1)gomb3.grid(row =2, sticky =E, column =0)radio1.grid(row=4, sticky =W, column =0)radio2.grid(row=4, sticky =W, column =1)radio3.grid(row=5, sticky =W, column =0)radio4.grid(row=5, sticky =W, column =1)abl9.mainloop()# Mértékegység váltó ablak vége# Főablakfoablak = Tk()foablak.title("Tkinter gyakorlatok")foablak.minsize(width =300, height=100)menusor = Frame(foablak)menusor.pack(side =TOP, fill =X)menu4 = Menubutton(menusor, text ="Egyebek", underline=0)menu4.pack(side = LEFT)tanulas = Menu(menu4)tanulas.add_command(label ="Mértékegység átváltók", command = mertekek, underline =0) # abl9menu4.config(menu = tanulas)foablak.mainloop() -
axioma
veterán
Hm, lehet hogy van egy tippem ra... de nagyon gyenge. Valamikor valami mas hibat keresgetve allitgattam mindenfele dolgot a pycharm-ban, es ettol most az eredmenyt pydev console-ban latom. Es ennek a "folytatosora" mintha a sok pont lenne. Nem tudom pontosan milyen korulmenyek kozott, de mintha amikor beillesztek tobbsoros inputot, akkor az oszloptartas miatt (es a prompt miatt) az elejet kipontozna. Lehet, hogy emiatt rossz kiiraskor... hogy (hibasan) ott is megeszi. De fura hogy "minden" pontot, nem annyit amennyivel alapbol pad-ol. De talan ez lehet. Majd ha lesz kedvem lehet megirom a pycharm-nak, velemenyezzek...
Ja itt win10-en van, amugy csak azert hagytam osszevissza, mert ujratelepitesre var mar egy honapja. -
axioma
veterán
válasz
samujózsi
#2520
üzenetére
Ja bocs, igen, beilleszteskor a formazas eltunt es azt a printet rosszul tettem vissza.
Nem pycharm cucc
meg mindig adventofcode.com
python 3.8
Kivul futtatva sem tunnek el a pontok. Csak nem ugy szoktam versenyfeladatokat megoldani.
Kieg. info: csak a pontokat eszi meg, a szokoznel tok jol kirajzolja. Rejtely. De akkor nem python hanem pycharm rejtely.
Nyilvan nem akadalyoz a tovabblepesben, most hogy debug-olaskor rajottem hogy onnan azok hianyoznak, addig volt ga'z amig mashol kerestem...Nem, semmi multithreading, sima algoritmikus feladat (egy intcode nevu, sajat magaba is irogato interpreterkedes van, az en programom inputja az intcode indulo kodja, ez az array amit kitol magabol, es utana mar tenyleg csak ezt probaltam megnezni, hogy milyen a "terkep", az eredmenyhez nem is kellett volna vizualizalni). A teljes kod (korabban is tobbszor hasznalt interpreter fuggvenyenreszen kivul) 27 sor, semmi ravaszsag.
-
samujózsi
senior tag
Egyelőre tippem sincs, de...
Milyen Python verzió?
Mi van, ha nem pycharm-ban futtatod? (már feltéve, hogy nem valami pycharm kiegészítőt hegesztesz
)
Az utolsó print előtt nem hiányzik két szóköz? (bár ez nem befolyásolja az eltűnő pontok rejtélyét)Ha csak ezt futtatom, nekem teljesen jó - igaz, parancssorból, python3-mal.
Ugye nincs benne multithreading vagy hasonló borzalom?
-
axioma
veterán
Milyen tulajdonsag lehet ez? Csupan ennyi a relevans kodreszlet:
for line in arr:
print(line)
for line in arr:
st=''
for num in line:
if num==46:
st+='.'
elif num==35:
st+='#'
else:
st+='^'
print(st)
Elfuttatom, ezt kapom:[46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46]
[46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 35, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 35, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46]
[46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 35, 46, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46]
#############......................................
#...........#......................................
#.#############....................................
Viszont ha debug-ot nyomok:[46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46]
[46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 35, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 35, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46]
[46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 35, 46, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46]
............#############......................................
............#...........#......................................
............#.#############....................................
Mi eszi meg az elsonel a bevezeto pontokat???
[Az egesz pycharm-on beluli futtatas, de akkor se ertem, es tippem sincs. Mar probaltam par variaciot (mivel ascii kod, sima chr, vagy egyforman legyen a sima/dupla idezojel pedig nem kene szamitson), de mindig ilyen futtataskor az eredmeny. Ha meg debug-olom akkor jo. Ez csak az elso 3 sor, amikor kulonbozo mennyisegu a bevezeto pont, akkor azokat eszi meg, csak nem akartam mar bonyolitani.
Nyilvan nem fontos feladat
de idegesit, es ha van valami valos oka azt meg tudni se artana, lehet akar mashol is fontos. -
axioma
veterán
Ne'mi keresgeles utan vagyok mar, es mivel a feladat maga nem fontos (adventofcode.com prog.jatekhoz "lustitas", na jo plusz erdekel is a megoldas), kerdeznem hogy van-e valakinek jelenlegi allapotokban mukodo google login-hoz kesz kodja. Nalam futna, jelszo beleirasa nem gond, de mivel belepve lehet csak elerni a szemelyre szabott inputot, es elegansabb lenne programbol mint mentegetni
. A lenyeg, hogy a weboldal csak social media belepeseket enged, nekem ebbol a guglis adott, nem eleg ha a hatterben bejelentkezem (mondjuk nem meglepo), de amiket python kodpeldakat talaltam a neten google account login keresesre, azok vagy regi allapotban mentek (mas volt a bejelentkezo oldal es megoldottak api nelkul), vagy egyaltalan nem jon nalam ossze ugy, hogy annak a masik weboldalnak legyen valid (olyan van hogy belep es egybol gmail adatokat hoz le). -
kovisoft
őstag
Ha jól értem, amit szeretnél csinálni, akkor azt meg tudod valósítani egy DictCursor-ral, aminek a kulcsai éppen az oszlopnevek. Nézd meg ezt a módszert, ez szerintem "SELECT *"-gal is megy, használhatod közvetlenül az oszlopneveket a result set-ben:
for row in results:
darab = row[holvan] -
válasz
kovisoft
#2510
üzenetére
Hát... elbizonytalanítottál, és valóban
vissza kerestem egy régi projectem és láss csodát:def ido(tabla):db = MySQLdb.connect("localhost","user","jelszo","dbname")cursor = db.cursor()sql=("""SELECT %s FROM run_dates""" % (tabla,))cursor.execute(sql)results = cursor.fetchall()for row in results:ido = row[0]return ido
és mondjuk itt meg is találtam volna a válaszom, mert egy éve már használtam ugyan ezt
De ezek szerint ezt is rosszúl?
-
válasz
kovisoft
#2507
üzenetére
értem, köszönöm
De tábla névvel működikDe ha az mondjátok így ne, akkor csak olyan megoldásom van hogy:
def vanalert(holvan):db = MySQLdb.connect("localhost","user","jelszo","dbneve",charset="utf8",use_unicode=True)if holvan == "klub":helyseg = 1elif holvan == "konyha":helyseg = 2elif holvan == "szoba":helyseg = 3cursor = db.cursor()cursor.execute("""SELECT * FROM weather_alert""")results = cursor.fetchall()for row in results:darab = row[helyseg]return darab
(ez egyébként működik is
)
maga a tábla egyébként ennyi
és az ötletem eredetileg azért született hogy ha ide fel kerül égy oszlop, akkor ne keljen a funkcióba is bele nyúlni, elég legyen az azt meghívó program beírni hogy pl szoba1.
-
kovisoft
őstag
Az a magyarázat, hogy parametrized query-ben csak az adat jellegű dolgokat parametrizálhatod, azok jöhetnek dinamikusan egy paraméterből (amit a , utáni listában adsz meg). Táblanév, oszlopnév, SQL kulcsszó nem jöhet paraméterből, legalábbis ha jól tudom.
Ha oszlopnevet akarsz dinamikusan beletenni a query-be, arra nem tudok más megoldást, mint hogy magát a teljes SQL query stringet összeépíted (ezt csinálja a %-os módszer). Ez persze nem ugyanaz, mint amit szeretnél, de azt szerintem nem is lehet megcsinálni úgy, ahogy szeretnéd. Vagy ha tévedek, akkor majd kijavít valaki.
-
válasz
kovisoft
#2500
üzenetére
szia,
bocsánat, azt nem vettem észre.
És működik, köszönöm
De ha van rá egy magyarázatod az is érdekelne, mert eddig bárkol kerestem mindenhol ,-vel voltak írva voltvelizare, samujózsi: jogos, fejből írtam, mert átírtam a kódot, csak nem tetszett, mert azzal pont az argumentum adta "szabadságot buknám el
Új hozzászólás Aktív témák
- Inno3D GeForce RTX 4070 Ti X3 12G - Karácsonyi akcióban!
- Redragon Kumara K552 RGB Brown Switch magyar billentyűzet
- 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
- Samsung Galaxy S24 FE 128GB, Kártyafüggetlen, 1 Év Garanciával
- iPhone 15 Pro Max 256GB Blue Titanium -1 ÉV GARANCIA -Kártyafüggetlen, MS4242, 100% Akksi
- Eredeti Lenovo 230W töltők - 4X20Z83995
- BESZÁMÍTÁS! Apple Macbook Pro 16 2023 M3 Pro 36GB 512GB macbook garanciával hibátlan működéssel
- Ace Magician T8 plus Mini PC
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


Már nem emlékszem.
Mint mondjuk a Java, ahol osztályok nélkül kb. mozdulni se tudsz? Vagy a C++ ami egy tuningolt C?

, természetesen rögtön sürgős feladat miatt kell módosítani egy kódot, és lenne egy kérdésem (string kezelés lehetőségeit még nem teljesen látom át):
szóval jó ez így, nem kell aggódnom?



