Profilo di Skrypnyk81

Nome Skrypnyk81
Indirizzo email n/a
Messaggi7
  • Re: Spider dal libro Marco Beri
    Forum >> Principianti
    Ciao.
    Dopo la tua correzione lo script funziona.
    Ho ancora un problema dal libro, volevo chiedere, perché sono un nuovo nel forum. Posso postare qui il problema seguente ho devo aprire una nuova discussione?
    Grazie ancora, anche se un pò in ritardo
  • Re: creare lista da input
    Forum >> Principianti
    Ciao.
    Non sono grande esperto. Il tuo codice funziona senza le ultime parentesi quadre.
    nome=input("Inserire nome lista")
    nome_lista=nome
    Però non capisco perché prima crei il "nome" e poi lo assegni al "nome_lista". Puoi farlo direttamente cosi
    nome_lista = input("Inserisci nome lista:")
    Penso che cosi si crea la stringa, la lista ha più elementi dentro. Come ho scritto sopra non sono grande esperto.
    Spero di essere d'aiuto.
  • Spider dal libro Marco Beri
    Forum >> Principianti
    Salve.

    Leggendo il libro di @Marco Beri "Python" sono arrivato ai esempi degli semplici spider web che usano modulo threading e multiprocessing

    Allora, nel primo esempio script funziona (penso), però non mi salva i siti trovati
    Ecco il codice:
    import threading, urllib.request, time
    urls = ["www.ubuntu.com", "www.linux.org", "www.python.org"]
    class esplora(threading.Thread):
        def __init__(self, url):
            threading.Thread.__init__(self)
            self.url = url
            self.status = -1
        def run(self):
            print("Sto leggendo {0}".format(self.url))
            urllib.request.urlretrieve("http://{0}".format(self.url))
            print("Ho letto e salvato {0} alle ore {1}".format(self.url, time.strftime("%H:%M:%S")))
    for url in urls:
        esplora_url = esplora(url)
        esplora_url.start()
    
    Eseguendo il primo script dalla riga di comando, mi trova i siti citati però non li salva come nel libro(Allego immagine spider).

    Con secondo esempio spider_multi.py mi trovo già errori nell'esecuzione.

    Ecco il codice:
    from multiprocessing import Pool
    import urllib.request, time, os
    def esplora(url):
        print("Sto leggendo {0} (proc:{1})".format((url, os.getpid())))
        urllib.request.urlretrieve("http://{0}".format(url), url)
        print("Ho letto e salvato {0} alle ore {1}".format(self.url, time.strftime("%H:%M:%S")))
    if __name__ == '__main__':
        p = Pool(3)
        p.map(esplora, ["www.ubuntu.com", "www.linux.com", "www.python.org"])
    Con questo script mi solleva un sacco di errori:

    multiprocessing.pool.RemoteTraceback: 
    """
    Traceback (most recent call last):
      File "C:\Python3\lib\multiprocessing\pool.py", line 119, in worker
        result = (True, func(*args, **kwds))
      File "C:\Python3\lib\multiprocessing\pool.py", line 44, in mapstar
        return list(map(*args))
      File "C:\Users\Murchik\Prova\spider_multi.py", line 4, in esplora
        print("Sto leggendo {0} (proc:{1})".format((url, os.getpid())))
    IndexError: tuple index out of range
    """
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "C:/Users/Murchik/Prova/spider_multi.py", line 9, in <module>
        p.map(esplora, ["www.ubuntu.com", "www.linux.org", "www.python.org"])
      File "C:\Python3\lib\multiprocessing\pool.py", line 260, in map
        return self._map_async(func, iterable, mapstar, chunksize).get()
      File "C:\Python3\lib\multiprocessing\pool.py", line 608, in get
        raise self._value
    IndexError: tuple index out of range
    Pure per questo esempio allego immagine di esecuzione nel cmd.exe

    Forse sbaglio con gli spazi o posizioni delle righe(leggo il libro digitale) che capita spesso a me :embarrassed:

    Grazie in anticipo e buone feste :birrame:.



  • Re: Python facebook
    Forum >> Principianti
    Allora. Non sono grande esperto di Python e OSX(l'ho installato in macchina virtuale).

    Procediamo sono andato sul sito e mi sono registrato, per capire come installare facebook sdk sono passato a questa pagina

    https://facebook-sdk.readthedocs.io/en/latest/install.html

    In osx ho aperto terminale, dal sito ho copiato il comando.

    pip install -e git+https://github.com/mobolic/facebook-sdk.git#egg=facebook-sdk
    Dopo installazione pip mi ha chiesto di aggiornare, un altro comando in terminale
    pip install --upgrade pip
    Dopo ho inserito altro comando dal sito in terminale
    pip install facebook-sdk
    
    Dopo installazione mi ha confermato installazione del SDK e percorso
    Skrypnyks-Mac:~ skrypnykyuriy$ pip install facebook-sdk
    Requirement already satisfied: facebook-sdk in ./src/facebook-sdk
    Requirement already satisfied: requests in ./miniconda3/lib/python3.5/site-packages (from facebook-sdk)
    Ecco installato, dopo non lo so come aprirlo e far funzionare.
    Spero di essere d'aiuto.
  • Re: Python facebook
    Forum >> Principianti
    Prova 'sudo bash' nel terminale. cosi terminale diventa con permessi di amministratore.

    Questo ho trovato su inet

    If you need a root shell, you can always use sudo tcsh or sudo bash


    Ciao


  • Re: Non riesco a scatenare un errore
    Forum >> Principianti
    Ciao Marco.
    Grazie per correzione, adesso mi funzione come nel libro ;).

    A dir vero non aspettavo che mi risponde direttamente autore del libro, sono emozionato tanto. Come nei giochi che costruisci una torre sale difesa. Anche per me è salita la voglia di imparare Python al livelli massimi :embarrassed:.

    Comunque ho salvato intero codice nel Notepad++, per non riscriverlo ogni giorno. Ho notato una cosa che forse aiuta a qualcuno come me capire meglio se qualcosa non va nelle classi.

    Nell'immagine(allegata) giusto tutta la colona si illumina meta rossa collegata alla classe.

    Nell'immagine sbagliata si illuminavano solo ultime tre righe, come ho capito non erano collegati a tutta la classe.

    Bene questo problema è stata risolta passo alla prossima nel nuovo post.

    Buon coding a tutti.


  • Non riesco a scatenare un errore
    Forum >> Principianti
    Salve ragazzi.

    Da un mesetto che ho iniziato a imparare Python 3. Ho comprato il libro "Python" di Marco Beri e ho preso il "Programmazione in Python" di Kenneth in biblioteca(più avanti ho intenzione di comprarlo).


    Nel libro di Beri sto provando tutti gli esempi nel IDE. Sono arrivato ad un esempio con classe di Verdura. Che deve scatenare un errore per i grassi nella verdura(carote) invece il mio codice gli assegna a carote(che naturalmente non possono avere grassi :sick:). Ho provato di copiarli dal libro, usare nel IDE, PyCharm(che mi ha suggerito qualche modifica, ma non funziona lo stesso)...

    Vi posto il codice sotto che ho inserito nel IDE.>>>
    class Cibo:
        """Un esempio di classe per gestire i cibi"""
        def __init__(self, proteine=0, carboidrati=0, grassi=0):
            self.proteine = proteine
            self.carboidrati = carboidrati
            self.grassi = grassi
    
            
    >>> pasta = Cibo(proteine=12, carboidrati=72, grassi=1)
    >>> def calcolaCalorie(self):
        return (self.proteine * 4 + self.carboidrati * 4 + self.grassi * 9)
    
    >>> Cibo.calcolaCalorie = calcolaCalorie
    >>> print(pasta.calcolaCalorie())
    345
    >>> class Verdura(Cibo):
        def __init__(self, proteine=0, carboidrati=0):
            self.grassi = 0
            self.proteine = proteine
            self.carboidrati = carboidrati
    
            
    >>> melanzane = Verdura(proteine=1.5, carboidrati=2.5)
    >>> print(melanzane.calcolaCalorie())
    16.0
    >>> class Verdura(Cibo):
        def __init__(self, proteine=0, carboidrati=0):
            Cibo.__init__(self, proteine = proteine, carboidrati = carboidrati, grassi = 0)
    
            
    >>> Cibo.calorie = property(calcolaCalorie)
    >>> melanzane.calorie
    16.0
    >>> pasta.calorie
    345
    >>> class Verdura(Cibo):
        def __init__(self, proteine=0, carboidrati=0):
            self.proteine = proteine
            self.carboidrati = carboidrati
            self.grassi = 0
        def getGrassi(self):
            return 0
        def setGrassi(self, grassi):
            if grassi > 0:
                raise Exception("Le verdure non hanno grassi")
            grassi = property(getGrassi, setGrassi)
    
            
    >>> carote = Verdura(1, 7)
    >>> carote.calorie
    32
    >>> carote.grassi
    0
    >>> carote.grassi = 100
    


    Con ultimo comando deve scatenare un errore

    Traceback (most recent call last): 
       File "< pyshell# 161 >", line 1, in < module > carote.grassi = 100
     
       File "< pyshell# 155 >", line 10, in setGrassi raise Exception(" Le 
    
    verdure non hanno grassi") 
    Exception: Le verdure non hanno grassi
    

    Invece con comando
    carote.grassi = 100
    mi assegna 100 grassi alle carote.
    >>> carote.grassi
    100
    >>> 
    Grazie e buon coding a tutti!!! ;)


    --- Ultima modifica di Skrypnyk81 in data 2016-11-30 22:21:38 ---