Apró megoldások

idő kezelése

def idopontot_atleptuk(ora, perc):
    now = datetime.datetime.now()
    #now= datetime.datetime(2009, 1, 1, 23, 30, 45)
    print “now:”,now,” “,
    print “%02d %02d ?? ” % (ora, perc),      

if (now.hour > ora) or (now.hour==ora and now.minute >= perc): print ” Atleptuk: %s %s” % (ora, perc) return 1 else : print “” # ures sor lezaras return 0

File mûveletek

fileContent = open( fname,’r').read()
# ha nem hozol létre fájl objektumot az open függvény használatakor,
# a fájl a használata után bezáródik.

* ha van egy listád (fájlok sorai pl):

for sor in html_file_tagok_nelkul.splitlines(): tiszta_sor= sor.strip() if tiszta_sor: print tiszta_sor # ha a string ures, semmi nincs benne, FAlSE az if, # semmit nem nyomtat ki.

Md5 használata, PHP-ban és Pythonban

* PHP, md5 használat: Ezt adja: 8e06924b8058836c2567a356ecaca51b

Ugyanez python-ban: >>> import md5 >>> h = md5.md5() >>> h.update(“TesztSzoveg”) >>> h.hexdigest() ’8e06924b8058836c2567a356ecaca51b’

Importálás, érdekesség, így is lehet:

* import time as ido

Ismétléses kiirás:

* print 5*”ezt otszor ird ki! ” * vonal = 20*”-”

Hogyan futtassak programot a háttérben, shell-től függetlenül úgy, hogy nem foglalkozom a processzekkel, sima egyszerű programot készítek (részlet a Python levlistáról):

* Ha eddig nem ismerted a screent, akkor kb. ennyit kell tudnod, hogy a programot a hatterbe tudd kuldeni ugy, hogy kilepes utan is fusson: elinditod a screent, kapsz egy shellt, amiben elinditod a programodat, utana a

Ctrl-a d (sima a betu, nem Alt)

billentyukombinacioval levalasztod az eredeti shellrol a screen kimenetet, a visszakapott eredeti shellbol ki is lephetsz, a program a screenben fut tovabb. Ha ujra elo akarod hozni, akkor a screen -r parancs hatasara mar elo is jott. (Cs. M.) * Ha nem akarsz kodolni, akkor debianba van startstopdaemon azzal is egyszeruen megoldhato… (York) * fork: példákat a Python Cookbook-on találsz róla

Konvertálások:

* szám -> karakterlánc: str(num), vagy `num`-ként írva is string lesz. * karakterlánc -> szám: int(“123″), string.atoi(“123″), float(“123″), string.atof(“1.23e5″)

Kulso program inditasa:

* Fontos pelda utvonal kifejezesere:os.system(‘dir c:\\program files’) # Windowson kettozott \ kell, mert a \ specialis kapcsolo jel.

* import os os.system(‘ls’) * import commands kimenet = commands.getoutput(‘ls’)

Műveletek:

* 2.2-es pythonban már van += értékadás. Pl.: szamlalo += 1

Nyomtatas win alatt:

* win32print modul

Listák:

* lista elemeinek szama: len(lista) * lista elemeibol torles: del lista[0,3] # ettol eddig torol * lista elemei, törlés kezdete: del lista[2:] # a 2-es elemtol torol * lista teljes kiürítése: del lista[:]

Ha egy változót szeretnél, amit mindenhonnal elérsz:

Ebbe a problémába én is belefutottam. Természetesen van megoldás, csak ne hívjuk ‘globális’-nak. Létre hozol egy modult, legyen a neve például publics.py, a tartalma pedig:

PUBLICS.PY: class Pub(object): pass

Minden olyan modulban, ahol kezelni akarod a globális változóid, be kell importáld ezt a publics modult. Ettől kezdve mindenhol Pub.valami néven hivatkozhatsz rá.

MASIK.PY: from publics import * Pub.egyik = 1 Pub.masik = “bla-bla”

Ekkor igazából nem globális a változó, hanem a publics modulé, de az eredmény az, hogy más modulban is használhatod.

(Zenius)

Post Comments

You must be logged in to post a comment.