Hasznos apróságok

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: <? echo md5("TesztSzoveg"); ?>
    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)

Sztring összefűzés, sebességmérő tesztek: