Python – appunti sparsi

Ciclo “for”

for x in range(len(dati)):
... do_something

Files

Apertura:

f=open(filename, "wb")

i modi disponibili sono: lettura ‘r’, scrittura ‘w’, e append ‘a’. La modalità binaria ‘b’ non è necessaria in Linux, ma usarla non cambia nulla e quindi conviene usarla per compatibilià con altri sistemi.

Chiusura di un file:

f.close()

Lettura e scrittura:

f.read()

legge l’ intero file, restituisce una stringa vuota se si è già alla fine del file.
Python non effettua controlli sulla grandezza del file: sta al programmatore decidere se leggere interamente un file o no (python non controlla se un file esaurisce la memoria del computer).

f.readline()

legge una riga alla volta

Per scrivere dati (ad esempio numeri) bisogna prima convertirli in stringhe:

s = str(value)
f.write(s)

Posizione di lettura:

# Posizione di lettura attuale:
f.tell()
# Spostamento al 6° byte del file:
f.seek(5)
# Il secondo parametro di seek() stabilisce da dove contare l' offset per il posizionamento
# 0 dall' inizio del file (default)
# 1 dalla posizione corrente
# 2 dalla fine del file
f.seek(-3, 2) # Va al 3° byte dalla fine del file

JSON

Importare il modulo json.

I metodi json.load() e json.loads() leggono i dati e restituiscono un oggetto Python.
json.load() legge da un oggetto tipo file che supporti il metodo .read();
json.loads() legge i dati da una stringa contenente un documento JSON.
Analogamente json.dump() e json.dumps() scrivono dati JSON rispettivamente su un file che supporta .write() e su una stringa.

Esempi:

f=open(fileJSON, 'r')
j=json.load(f)

REGEX

Importare il modulo re.

Le funzioni re.search() e re.match() eseguono una ricerca e un test rispettivamente.
Se la REGEX ha dei raggruppamenti, questi vengono richiamati da .group(n):

m=re.search("([^/]*)-(\d+)$", stringa)
#m.group(0) restituisce l' intera stringa matchata
#m.group(1) restituisce il primo gruppo
#m.group(2) restituisce il secondo gruppo

urlparse

Importare il modulo urlparse.

La funzione urlparse() restituisce un ParseResult che è una sottoclasse di una tupla.
Al contrario, si può costruire un ParseResult utilizzando delle stringhe.
La funzione geturl() restituisce la stringa con la url.

ui=urlparse.urlparse(url_string)
uf=urlparse.ParseResult(ui.scheme, ui.netloc, "/path/to/something", "", "querystring, "")
ui.geturl()
uf.geturl()

argparse

Importare il modulo argparse.

Il primo passo è quello di creare un oggetto ArgumentParser.
Poi si aggiungono gli argomenti con le informazioni su come gestirli.
Infine si fa il parse.

Esempio:

parser=argparse.ArgumentParser(description="Breve descrizione.")
parser.add_argument("arg1", help="Stringa di aiuto")
args=parser.parse_args()
# Ora si può accedere ai valori degli argomenti
comando(args.arg1)

urllib2

Importare il modulo urllib2.

agent="Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20100101 Firefox/8.0 Iceweasel/8.0"
header={"User-Agent": agent}
req=urllib2.Request(uf.geturl(), None, header)
response=urllib2.urlopen(req)

OS

Importare il modulo os.

#cambiare la directory corrente:
os.chdir(path)
#mostrare la directory corrente:
os.getcwd()
#cambiare i permessi sul file/directory:
#esempio: os.chmod("/path/to/dir", 755)
os.chmod(path, flags)
#creare una directory:
os.mkdir(path[, mode])
#rinominare file:
os.rename(src, dst)

Verifiche sui file:

os.path.isfile(path)
os.path.isdir(path)
os.path.realpath(path)
os.path.relpath(path[, start])

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...