Ismét előszedtem python barátunkat. Rögtön van is egy kérdésem: datetime.date esetén a 3 argumentumot nem lehet list, tuple vagy valamilyen értelmes formában megadni? Annyira bántja a szemem így:
datetime.date(datum[0], datum[1], datum[2])
Python programozás - Szoftverfejlesztés fórum
hozzászólások
![](/dl/faces/own/siriusb.gif)
Siriusb
(veterán)
datetime.date(*datum)
[link]
[ Szerkesztve ]
![](/dl/faces/own/siriusb.gif)
Siriusb
(veterán)
És tényleg. Jobb lenne átnéznem újra az alapokat.
Köszönöm!
![](/dl/faces/cow.gif)
shinodas
(tag)
Sziasztok srácok!
Multiprocessing mudollal csinálok egy másik processt, amiben szeretném használni a soros portot. Viszont, ha ott használom, akkor a következő hibaüzenet fogad:
AttributeError: 'Serial' object has no attribute '_isOpen'
def getData(conn):
USB = conn.recv()
while True:
print USB.readline()
time.sleep(1)
return
...
parent2,child2=Pipe()
currTEMP=Process(target=getTEMP, args=(child2,))
currTEMP.start()
parent2.send(USB)
[ Szerkesztve ]
![](/dl/faces/m19.gif)
suomalainen
(tag)
Sziasztok!
Tudnátok segíteni? Elakadtam és nem tudom a megoldást. A lényeg: egy lista elemei közül random módon kellene megjeleníteni egy elemet és kiíratni egy ablakba.
Összehoztam ezt a szánalmat:
from tkinter import *
import random
def kemia():
items = ["Hidrogén H2", "Víz H2O", "Klór Cl2", "Sósav HCl"]
rand_item = items[random.randrange(len(items))]
print (rand_item)
abl1 = Tk()
can1 = Canvas(abl1,bg="dark grey", height=100, width=150, command=kemia)
can1.pack(side=LEFT)
gomb1 = Button(abl1, text= "Random", command=kemia)
gomb1.pack(side=BOTTOM)
gomb2 = Button(abl1, text= "Kilép", command = abl1.destroy)
gomb2.pack()
abl1.mainloop()
Annyi a gond vele, hogy nem egy ablakban jelenik meg az érték, hanem CLI-ban.
Előre is köszi!
![](/dl/faces/own/siriusb.gif)
Siriusb
(veterán)
A print (rand_item) valóban csak a terminálba ír. Az entry widgetet kellene használnod. Az az egyszerűség benne, hogy egy speciális változóba rakod az értékét, amit megjelenítenél, s ha az változik, a grafikus felületen is változik az entry tartalma.
Tutorial: [link]
![](/dl/faces/tech.gif)
SimiZi
(újonc)
Hali !
Olyan kérdésem lenne, hogy mi a kezdő definiálás 64bitre ?
import win32api
import sys
import pythoncom, pyHook
gondolom nem win64api és a társai..
Aki esetleg tudna segíteni, kifejezetten hálás lennék érte.
Hi,
Használta vki a BOA Constructor-t?
A debugger funkciót nem birom benne beizzitani.
Illetve létezik vmi jó debugger linux alá?
Win alatt a visual studio + ironpython elég használható, csak hát az win.
![](/dl/faces/eagle2.gif)
olivera88
(veterán)
Az megoldható h valahogy hogy egy Python programot magától tudjak futtatni, ne kelljen beírni a terminálba a fájl nevét? Egy meteorológiai programhoz használok Python scripteket amiket a terminálban kell lefuttatni.
Így néz ki. [link]
![](/dl/faces/eagle2.gif)
olivera88
(veterán)
Igen. Meg az is érdekelne h lehetne többet egymás után futtatni automatikusan h ne kelljen külön külön.
[ Szerkesztve ]
Terminálból gondolom, hogy linux alatt akarod futtatni.
Akkor ez legyen az első sorban
#!/usr/bin/python
és ellenőrizd, hogy van-e futtatási jogosultság a file-ra, ha nincs akkor [sudo]chmod +x fileneve
![](/dl/faces/eagle2.gif)
olivera88
(veterán)
Igen ott. Hol? A Kódba? És azt hol lehet ellenőrözni? Van itt egy olyan opció h a fájl végrehajtásának engedélyezése programként. Ez?
[ Szerkesztve ]
Hát magyarul nem tudom, hogyan van, de sanszos, hogy az.
ellenőrizni meg legegyszerübben terminálban tudod.
ls -all fileneve és vmi ilyesmit kell kapnod:
sonar@samr0221 ~/Documents $ ls -all preciphu_18.py
-rwxr-xr-x 1 sonar sonar 2529 May 28 22:38 preciphu_18.py
A lényeg az 10 karakter (egész pontosan 2.-tól a 10.-ig jelzik a jogosultságokat és legyen benne x, mint eXecute). Ha mélyebben érdekel a téma akkor googli a barátod. [link]
[ Szerkesztve ]
![](/dl/faces/eagle2.gif)
olivera88
(veterán)
Na beírtam az első sor elé amit írtál. Most már lefut enterrel. Köszi. A jogosultságot nem tudtam úgy ellenőrizni ahogy írtad.
Azt nem lehet megoldani h egymás után lefuttatni automatikusan? Akkor még jobb lenne, ha megadom h miket futtasson le és azokat lefuttatja egymás után.
[ Szerkesztve ]
![](/dl/faces/own/axioma.gif)
axioma
(veterán)
Az az alapesetu shell script, feltetel kb. ugyanez (az elso sorban a python helyett az aktualis, vagy hat a hasznalni akart shell neve legyen), a script meg utana a futtatandok felsorolasa soronkent.
jogosultsagokra pedig szukseged lesz, terminal ablak ls -l lathatova teszi, chmod valtoztatja, van help es manual is.
[Bar tuti van egyebkent ugyanezekre a feladatokra valami elcseszett grafikus megoldas is, de en oreg vagyok mar ahhoz, hogy ennyi gepelgetesecske helyett kattintgassak, szorcsolgessek...]
Ezt kicsit érthetőbben please.
Minden bizonnyal meg lehet oldani, csak amit leírtál az számomra nagyon nem tiszta
![](/dl/faces/own/axioma.gif)
axioma
(veterán)
Bocs, en anno win 3.1 helyett karakteres uzemmodu linuxot hasznaltam nettel a koleszszobaban, ami akkor nagy szo volt, de ma mar nem szeretik az emberek a karaktereket...
Letrehozol egy tokegyszeru szovegfile-t, benne:
#!/usr/bin/bash
<elso python script-ed neve>
<masodik script>
...
EOF
Ennek ha pyscriptauto a neve, akkor
chmod 755 pyscriptauto
parancsot futtasd, es utana ./pyscriptauto (ha jol vagy konfigolva, akkor a ./ elmaradhat, de soxor az akt. kv.t nincs a keresesi utvonalon...)
Teszem hozza gyorsan, 10+ eve irtam ilyet utoljara, ugyhgoy csak azert valaszoltam mert senki mas, es siman tevedhetek.
[ Szerkesztve ]
![](/dl/faces/eagle2.gif)
olivera88
(veterán)
Nem tudom mit nem értettél rajta nem tudom. Van 11 időpont és arra 11 fájl, és azt szerettem volna megoldani h ne kelljen minden fájl nevét külön beírni a terminálba hanem egyszerre lebírjam futtatni mind a 11 et.
axioma
Szóval akkor ezt kell betenni a fájlba a mit leírtál? Ja semmi, nem figyeltem, külön fájlt kell létrehozni.
Közbe találtam rá megoldást.
[ Szerkesztve ]