Új hozzászólás Aktív témák
-
V.Stryker
nagyúr
Pycharmban a szintaktikai ellenőrzést hogy kell lentebb venni, hogy kicsit gyorsuljon?
Organic Maps - ingyenes, offline navi iOS-re és Androidra.
-
EQMontoya
veterán
-
Siriusb
veterán
Pygtk kérdés:
Egy treeview első három oszlopát szeretném fagyasztani. Beépített megoldást nem találtam, ezért azt gondoltam, hogy két darab view lesz egymás mellett ugyanazon modellből dolgozva, csak éppen az adott oszlopok nem lennének megjelenítve. Viszont össze kéne kötni, ha sorbarendezek az egyik view-ban, azt a másik is tükrözze. Ez így működhet? Vagy van jobb megoldás? -
Siriusb
veterán
Pitonikus kérdés:
Adott egy táblázat, melyben szerkesztés során minden sorban egy vagy több oszlop értékét is lehet módosítani. Az adatokat egy sqlite3 adatbázisban tárolom.
Na már most, nem írok ki minden változást azonnal az adatbázisba, hanem egy tömbben, helyesebben list-ben eltárolom az sql kifejezést és az értékeket, s csak a legvégén rögzítem az új értékeket az adatbázisban.
Azonban mi van akkor, ha agyatlanul ugyanazon sor ugyanazon oszlopának értékét tízszer módosítom, mert bizonytalan vagyok, vagy mert tetszik a billentyűzet hangja? Ebben az esetben 9 sql kifejezés hajtódna végre teljesen feleslegesen, amikor csak egynek, a list-ben a legutolsónak kellene csak. Tehát a kérdés, mi a legpraktikusabb módja annak, hogy egy listából kitöröljem az egyforma (illetve csak egy elemében eltérő) lista elemeket, kizárólag az utolsót meghagyva. Tehát ebben:
[
[name1, val1, rowid1],
[name2, val2, rowid2],
[name1, val3, rowid1]
]
az első és harmadik elem "egyforma", így az első elem törlendő.Nekem csak az a megoldás jut eszembe, hogy slice készül a tömbből, soronként végigmegyek és összehasonlítom az eredeti tömbbel a sort, feljegyzem az indexeket és a ciklus végén az utolsó index kivételével törlöm az összest. figyelve arra, hogy egy-egy törlés után módosul a soronkövetkező tényleges index száma.
Egyébként más úton gondolkozva simán megoldhatnám úgy is (lévén kis mennyiségű adat), hogy az egész modelt (ListStore) visszaírom egy az egybe az adatbázisba, na de az elég csúnyácska megoldás lenne.
-
addikt
válasz Siriusb #1954 üzenetére
pandas drop_duplicates megoldassal:
Eloszor listabol pandas df: [link]labels = ['name', 'value', 'rowid']
df = pd.DataFrame.from_records(listad, columns=labels)
df.drop_duplicates(subset=['name','rowid'], keep='last', inplace=True)vagy valami hasonlo.
aztan df.tolist() vissza tudja elvileg rakni listaba, vagy to_csv() csv-be, vagy amibe szeretned.
Valoszinuleg van egyszerubb megoldas meg nagy az overheadje a lista > df konverzionak, de hirtelen ez jutott eszembe.
[ Szerkesztve ]
-
EQMontoya
veterán
válasz Siriusb #1956 üzenetére
Kicsit szebb megoldas, ha letre sem hozod a felesleget.
Van egy defaultdict nevu cucc, ez pl. pont jo arra, amire Neked kell.
A kulcs egy touple, ami azokbol a dolgokbol all, amik egyezese eseten a ket sor egyformanak szamit, az ertek pedig az osszes tobbi olyannak a listaja, amit tenylegesen valtoztatsz.
d = defaultdict(list)
d[(key1, key2)] = [value1, value2]
d[(key1, key2)][1] = value3Ez azert jo, mert a memoriaban sem tarolsz N felesges objektumot, mindig csak az utolsot.
A vegen csak vegigiteralsz a kollekcion, visszaallitod belole a megfelelo sorokat, es kesz.
Same rules apply!
-
V.Stryker
nagyúr
válasz EQMontoya #1952 üzenetére
Köszönöm. Bénázgatok vele. Beiratkoztam egy python tanfolyásra nulla programozói tudással, de csak áprlilisban kezdődik. Azt tudom már, hogy PyCharm-al fogunk dolgozni. Önállóan már próbáltam előzőleg is, más IDE-ket is és nekem kicsit nehézkesnek tűnik egy SublimeTexthez képest. De azt mondják, hogy többet is tud. Elfogadom.
Már csak jól be kéne állítani, de olyan k.rva bonyolultnak tűnik.
Organic Maps - ingyenes, offline navi iOS-re és Androidra.
-
V.Stryker
nagyúr
PyCharm alap kérdés.
Ha elkezdek beírni valamit...vegyük a legegyszerűbbet print (" ... itt már ő nagyon okosan odateszi a ") -t nekem csak a köztes adatot kell beírni. Ha beírtam az adatot, akkor van rá mód,hogy a következő sorra ugorjak? Nem hiszem el, hogy mögé kell kattintani az enter előtt....
Organic Maps - ingyenes, offline navi iOS-re és Androidra.
-
-
Siriusb
veterán
válasz V.Stryker #1960 üzenetére
Shift+Enter
Szerk.:
Egy nagyon felszínes bemutató, de talán érdemes átfutni: https://www.jetbrains.com/help/pycharm/quick-start-guide.html[ Szerkesztve ]
-
kovisoft
őstag
válasz Siriusb #1962 üzenetére
Hiányzik az 'l' a linked végéről, helyesen: https://www.jetbrains.com/help/pycharm/quick-start-guide.html
-
sztanozs
veterán
válasz V.Stryker #1966 üzenetére
Ja, valami fura MAC-es encodingja van a fájlnak. UTF-8-at kell használni, avgy megadni az encodingot ilyen formában:
# coding=<encoding name>
Ennek a sornak a fájl első vagy második sorában kell lenni.
Második sorban akkor, ha az első sor a parancsértelmezőt tartalmazza, pl:#!/usr/bin/python
# coding: <encoding name>JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz V.Stryker #1970 üzenetére
Pfff, interpreter options-be beraktad a futtatókörnyezet binárisát azt próbálja meg beparse-olni, mint forráskódot
csak ki kell törölnöd azt a mezőt. Felette már ki van választva a futtatókörnyezet.[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
sztanozs
veterán
válasz s1999xx #1972 üzenetére
Elolvastam vagy háromszor a hibaüzenetet, mire rájöttem. Pedig elsőre is leeshetett volna, amikor láttam, hogy nincs ilyen BOM
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
V.Stryker
nagyúr
Köszi mindenkinek. Most már jó lett.
Organic Maps - ingyenes, offline navi iOS-re és Androidra.
-
Janos46
tag
Sziasztok!
Időnként felbukkan egy-egy hozzászólás, amiben kérdezik hogy hol lehetne Pytonhoz oktató anyagot találni. Bóklászás közben találtam egy érdekes oldalt, amit még nem láttam említeni. Ezt a fullcircle.hu/pics/issue
oldalon lehet megtalálni. Ez egy 10 kötetből álló sorozat, kötetenként 15-45 oldalból áll. Remélem lesz aki hasznát is veszi.
Üdv: JánosArtillery, lelkes újonc vagyok, tanulni akarok!
-
kovisoft
őstag
Kár ezen a kígyós témán ennyit pörögni, a hivatalos python logó is két kígyót ábrázol ("two snakes" logo).
-
Siriusb
veterán
Elnézést mindenkitől, nem gondoltam, hogy ennyire félremegy itt a poénkodás.
-
Siriusb
veterán
Tesztelésre mit használ/javasol a T. Társaság? Illetve melyik fázisban készítitek el a teszteket?
-
cigam
félisten
válasz Janos46 #1977 üzenetére
+ ott a Pythonindomár ill az ott is ajánlott Hogyan gondolkozz úgy, mint egy informatikus: tanulás Python3 segítségével könyv.
A topik összefoglalóba össze kellene gyűjteni ezeket.
Freeware, és akciós programok egy helyen https://www.facebook.com/freewarenews
-
-
Siriusb
veterán
válasz s1999xx #1994 üzenetére
Múltkorjában kicsit belekóstoltam Java-ba. Eclipse-ben nagyon jól működött, hogy először megírtam a tesztet, és azt át lehetett konvertálni programkóddá.
Persze most én is úgy álltam neki, hogy az éppen megírt kódblokkra húztam rá a tesztet, ahogy sh* is írta.
Az érdekelt volna, hogy "kicsiben" a unittest-et használjátok, vagy pytest, nose2, akármi. -
MATEO6600
őstag
IDE kérdés:
Mit szóltok a sima Visual Studio-hoz? Nem a Code-hoz.
Abban fejlesztek C#/C++ban, ezért gondoltam rá.
Vagy érdemesebb az erre szakosodott PyCharm-ot használnom? -
-
Siriusb
veterán
Ismét némi útmutatásra lenne szükség: adott A osztály, amiben @property-vel és setter-rel létrehoztam egy attribútumot. Amennyiben ennek az értéke változik, miként tudom értesíteni az eseményről a B osztályba tartozó objektumomat?
Kicsit konkrétabban: jelen pillanatban azt szeretném megoldani, hogy az sqlite táblában történt változás esetén a táblából dolgozó, más ablakokban megjelenített Gtk.ListStore modellek adatai frissüljenek.
-
sztanozs
veterán
válasz Siriusb #1998 üzenetére
Az adatbázis alapvetően egy lekérdező (tároló) rendszer - nem fog a lekérdezők felé eseményket generálni, hogy megváltozott valami.
Annyit tudsz csinálni, hogy a változtatásokra triggert írsz, ami egy táblában rögzíti az utolsó módosítás idejét. Azt a táblát lekérdezve meg tudod állapítani, hogy történt-e változás, és kell-e frissíteni a felületet. Amúgy az SQLite nem kifejezetten multiuser környezetbe lett tervezve, nem tudom egyáltalán rendelkezik-e megfelelő konkurencia-kezeléssel...JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
nagyúr
válasz Siriusb #1998 üzenetére
ez db feature, pl. oraclenél úgy hívják, hogy database change notification. pl. itt tudsz róla olvasni.
az oracle egyébként saját python modult írt az adatbázisához, ami képes erre. [link]ha ez nem áll rendelkezésre, akkor neked kell úgy megírni a szoftvert, hogy commit után értesítse a releváns 3rd party alkalmazásokat a változásról, és kikényszerítse az újbóli beolvasást.
[ Szerkesztve ]
Tudod, mit jelent az, hogy nemezis? Az érintett, erősebb fél kinyilatkoztatása a méltó büntetés mértékét illetően. Az érintett fél jelen esetben egy szadista állat... én.