INTRODUZIONE A PYTHON
                       Lezione 2
           Paolo Ferretti per Deltapromo
 URL corso: http://corso-deltapromo.paoloferretti.net/

             http://www.paoloferretti.net
               paolo@paoloferretti.net
ARGPARSE


• Parser   per linea di comando

• Aggiunto   in Python 2.7

  • prima   si usava optparse che attualmente è deprecato
ARGPARSE

• Configurare   un parser

 • import argparse
   parser = argparse.ArgumentParser(description='This is a
   PyMOTW sample program')

• Definire   gli argomenti

 • parser.add_argument('-a', action="store_true", default=False)
   parser.add_argument('-b', action="store", dest="b")
DATETIME


• Funzioni   e classi per la manipolazione delle date

• Maneggiare    SEMPRE le date con questo modulo

• Utile   anche quando si devono gestire i fusi orari
DATETIME

t = datetime.time(1, 2, 3)
t                            01:02:03
t.hour                          1
t.minute                        2
t.second                        3
t.microsecond                   0
t.tzinfo                      None
DATETIME

   datetime.time.min          00:00:00



  datetime.time.max        23:59:59.999999



datetime.time.resolution   00:00:00.000001
DATETIME
• today   = datetime.datetime.today()
               today              2011-05-20 19:04:33.982872

           today.ctime()           Fri May 20 19:04:33 2011

          today.toordinal()                734277

             today.year                     2011

            today.month                       5

             today.day                       20
LOGGING


• Facilita   le operazioni di logging su file

• Impostazioni     semplici con basicConfig

  • logging.basicConfig(filename=LOG_FILENAME,
        level=logging.DEBUG
    )
LOGGING

• Cinque   livelli di verbosity

 • CRITICAL       (50)

 • ERROR     (40)

 • WARNING         (30)

 • INFO    (20)

 • DEBUG      (10)
LOGGING



•I   livelli di verbosity servono per filtrare i messaggi di logging

•I logging visualizzati sono sempre quelli maggiori o uguali al
 livello dell’handler
MATH



• Libreria   con funzioni matematiche

• Molte   generica, ci sono le funzioni e le costanti più comuni
PPRINT


• Modulo   per pretty print

• Ottimo   per stampare strutture dati

• Normalmente    lo uso per un debug grezzo
RANDOM


• Modulo    per la generazione di numeri pseudo casuali

• Basato   su algoritmo Mersenne Twister

• Diverse
        utility per generazione di numeri float, interi o casuali
 deterministici
SYS

• E’ un   modulo sterminato

• Contiene    i servizi per:

  • ottenere     e modificare la configurazione dell’interpete a
    runtime

  • interagire   col sistema operativo
URLLIB

• Semplice   interfaccia per l’accesso a risorse di rete

• Funzioni   più usate

  • urlopen(): per   aprire una URL

  • urlencode(): per     fare l’encoding di una url. Importantissima!

    • quote(): simile    ad urlencode ma per utilizzo locale
URLLIB

• Per   richiesta

  • GET

    • passare  a urlopen l’url più i parametri dell’url in un unico
        parametro -> urlopen(url + encoded_params)

  • POST

    • passare  a urlopen l’url e i parametri dell’url in due
        parametri diversi - urlopen(url, encoded_params)
URLLIB2



• Versione   più sofisticata di urllib

• Permette   la gestione di protocolli diversi da HTTP
URLPARSE



• Permette   una gestione completa delle url

• Spezza   una url in tutte le sue componenti
OS


• Permette    di interfacciarsi col sistema operativo sottostante

• os.path   contiente le utility per maneggiare i path

• os.environ   contiene le variabili di ambiente

Corso Python Deltapromo - Lezione 2

  • 1.
    INTRODUZIONE A PYTHON Lezione 2 Paolo Ferretti per Deltapromo URL corso: http://corso-deltapromo.paoloferretti.net/ http://www.paoloferretti.net paolo@paoloferretti.net
  • 2.
    ARGPARSE • Parser per linea di comando • Aggiunto in Python 2.7 • prima si usava optparse che attualmente è deprecato
  • 3.
    ARGPARSE • Configurare un parser • import argparse parser = argparse.ArgumentParser(description='This is a PyMOTW sample program') • Definire gli argomenti • parser.add_argument('-a', action="store_true", default=False) parser.add_argument('-b', action="store", dest="b")
  • 4.
    DATETIME • Funzioni e classi per la manipolazione delle date • Maneggiare SEMPRE le date con questo modulo • Utile anche quando si devono gestire i fusi orari
  • 5.
    DATETIME t = datetime.time(1,2, 3) t 01:02:03 t.hour 1 t.minute 2 t.second 3 t.microsecond 0 t.tzinfo None
  • 6.
    DATETIME datetime.time.min 00:00:00 datetime.time.max 23:59:59.999999 datetime.time.resolution 00:00:00.000001
  • 7.
    DATETIME • today = datetime.datetime.today() today 2011-05-20 19:04:33.982872 today.ctime() Fri May 20 19:04:33 2011 today.toordinal() 734277 today.year 2011 today.month 5 today.day 20
  • 8.
    LOGGING • Facilita le operazioni di logging su file • Impostazioni semplici con basicConfig • logging.basicConfig(filename=LOG_FILENAME, level=logging.DEBUG )
  • 9.
    LOGGING • Cinque livelli di verbosity • CRITICAL (50) • ERROR (40) • WARNING (30) • INFO (20) • DEBUG (10)
  • 10.
    LOGGING •I livelli di verbosity servono per filtrare i messaggi di logging •I logging visualizzati sono sempre quelli maggiori o uguali al livello dell’handler
  • 11.
    MATH • Libreria con funzioni matematiche • Molte generica, ci sono le funzioni e le costanti più comuni
  • 12.
    PPRINT • Modulo per pretty print • Ottimo per stampare strutture dati • Normalmente lo uso per un debug grezzo
  • 13.
    RANDOM • Modulo per la generazione di numeri pseudo casuali • Basato su algoritmo Mersenne Twister • Diverse utility per generazione di numeri float, interi o casuali deterministici
  • 14.
    SYS • E’ un modulo sterminato • Contiene i servizi per: • ottenere e modificare la configurazione dell’interpete a runtime • interagire col sistema operativo
  • 15.
    URLLIB • Semplice interfaccia per l’accesso a risorse di rete • Funzioni più usate • urlopen(): per aprire una URL • urlencode(): per fare l’encoding di una url. Importantissima! • quote(): simile ad urlencode ma per utilizzo locale
  • 16.
    URLLIB • Per richiesta • GET • passare a urlopen l’url più i parametri dell’url in un unico parametro -> urlopen(url + encoded_params) • POST • passare a urlopen l’url e i parametri dell’url in due parametri diversi - urlopen(url, encoded_params)
  • 17.
    URLLIB2 • Versione più sofisticata di urllib • Permette la gestione di protocolli diversi da HTTP
  • 18.
    URLPARSE • Permette una gestione completa delle url • Spezza una url in tutte le sue componenti
  • 19.
    OS • Permette di interfacciarsi col sistema operativo sottostante • os.path contiente le utility per maneggiare i path • os.environ contiene le variabili di ambiente