Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - ytsejam

Pagine: [1] 2 3 ... 7
1
Base / Re:Controllo mail Outlook
« il: Marzo 26, 2019, 08:40 »
Ma connettersi al server imap/pop3?
Eh non posso, perché quel pc non ha accesso all'esterno della rete.

2
Base / Controllo mail Outlook
« il: Marzo 25, 2019, 11:09 »
Buongiorno amici, esiste un modo per python, per rilevare nuove mail su outlook sempre aperto su un pc?
Al lavoro ho due computer, uno con la posta e uno di lavoro, vorrei fare una routine che ogni xx minuti controlla se ci sono nuove mail, e nel caso ci fossero, invierò un socket al quello del lavoro con l'avviso, devo solo capire come rilevare nuove mail.
Ad esempio ho pensato di rilevare l'icona busta vicino l'orologio, se ci sta ok, ma come rilevarla?
Avete altre idee magari?
Grazie

3
Base / Re:raggruppamento dati da righe duplicate in csv
« il: Maggio 10, 2018, 22:40 »
Innanzitutto un buongiorno a tutti!!
Sono nuovo del forum e abbastanza "acerbo" anche come conoscenza di python.

Detto ciò chiedo aiuto a voi per un problema che sto cercando di risolvere da ieri:

ho un file CSV (che riesco a leggere tranquillamente con python ) che ha al suo interno delle righe duplicate per ID sulla Colonna A. Sulla Colonna B ci sono altri dati che sono diversi per ogni duplicato.

Il risultato che vorrei avere è una sola righa con Colonna A (unica) - Colonna B valore 1 - Colonna B valore 2

Spero di essere stato chiaro ... e che mi possiate aiutare ...

Grazie mille,

Simone

Puoi provare così senza usare nessun modulo

Ti genera un secondo file con quello che hai chiesto.
Il tutto dovrebbe funzionare (l'ho scritto da telefonino), se i file csv sono divisi con punto e virgola, altrimenti sostituisci con virgola tutto.



input = 'C:/input.csv'
output = 'C:/output.csv'

with open (input, mode='r') as f, open (output, mode='a') as g:
    contenuto = f.readlines()
    indice = 1
    for i in contenuto:
        x = i.split(';')
        g.write(x[0]+';'+x[1])
        if (indice % 2) == 0:
            g.write(';'+x[1]+'\n')
        else:
            g.write('\n')
        indice = indice +1



4
Base / Re:argomenti opzionali
« il: Maggio 10, 2018, 22:07 »
Se è specificato un argomento devi richiamare un argomento altrimenti ti dà errore

5
Base / Re:Invio mail in def
« il: Maggio 10, 2018, 16:26 »
Ringrazio per l'analisi logica, è dalle scuole medie che non ne vedevo una.

Lo script che ho incollato col telefonino purtroppo lo vedo senza spazi a casaccio come dici e se il sito non è adatto al 100% mobile non è colpa mia.

Lo script funziona mettendo le dovute impostazioni e lavora fuori da qualsiasi def, da ignorante lo spiego così, perché non sono competente come voi, anche perché se lo fossi non scriverei su un forum, perché quest'ultimi nascono per imparare e soprattutto insegnare con tanta educazione e senza arroganza, perchè il mondo è piccolo, chissà un giorno la ruota gira su altri forum.

Saluti

6
Base / Re:Invio mail in def
« il: Maggio 08, 2018, 14:34 »
ho testato questo invio mail e funziona perfettamente con le dovute impostazioni, ma se lo includo in qualche def la mail che invia è vuota senza mittente, ne oggetto ne messaggio, mi aiutate a capire perché?

Volentieri. Provi a spiegare il tuo problema in modo intelleggibile?
Tra l'altro quel codice non e' manco python valido (e se lo fosse, lo stile sarebbe comunque terribile).

La precisione non e' opzionale in questo campo. Non stiamo spruzzando diserbante da un aereo.

Ci stava il comando import con la "i" Maiuscola, colpa del pc che ha messo la lettera grande, il resto? Devo metterela mia mail privata e un smtp valido? Sul web ci sono un mucchio di esempi con impostazioni scritte tipo queste.
Poi ho scritto chiaramente, che se queste righe le includo in una funzione qualsiasi, che non incide per niente lo script dell'invio mail, avviando la funzione, la mail arriva totalmente bianca.


7
Base / Invio mail in def
« il: Maggio 08, 2018, 10:04 »
Salve amici,
ho testato questo invio mail e funziona perfettamente con le dovute impostazioni, ma se lo includo in qualche def la mail che invia è vuota senza mittente, ne oggetto ne messaggio, mi aiutate a capire perché?


import smtplib

sender = 'prova@prova.it'
receivers = ['destinatario@mail.com']

message = """From: Errore

To: Pinco Pallino

Subject: Errore

Errore salvataggio dati

"""

message = "TESTO DA INVIARE"

try:

                smtpObj = smtplib.SMTP('server.uscita.com')

                smtpObj.sendmail(sender, receivers, message)       

                print ('Email di errore inviata con successo')

except:

                print ('Errore invio mail')

8
Base / Re:Alert windows con script python
« il: Aprile 21, 2018, 06:09 »
Grazie della risposta.
Ovvio che il caso bomba è un pò diverso, non è un esempio che calza al mio caso.

9
Base / Alert windows con script python
« il: Aprile 20, 2018, 16:37 »
Ciao amici, ho bisogno di un alert windows tramite python, ora ho fatto un esempio cosi:


# -*- coding: utf-8 -*-
import ctypes

ctypes.windll.user32.MessageBoxW(0, "Errore", "Titolo", 0)

print ('ciao')


Funziona perfettamente, ma con un difetto, se non clicco ok non va avanti a printare 'ciao'

Ho provato a trovare varianti del modulo, ma niente.
La necessità è quella di avere un messaggio, ma far proseguire lo script se non si clicca ok.

Mi suggerite altro?
Grazie

10
Base / Data/ora ultima modifica modulo
« il: Marzo 23, 2018, 16:39 »
Ciao amici, se si crea un modulo chiamato pippo.py e in un secondo script si fa l'import, è possibile nel secondo ricavare la data e ora ultima modifica di quel modulo creato?
In sys.modules compare, ma non trovo funzioni che rilasciano tale informazioni simili a quella del os.path.getmtime()

Questo perchè il modulo pippo è importato all'inizio del secondo script, e successivamente fi sta un while che svolge ciclicamente delle cose a tempo indefinito, e volevo controllare ad ogni ciclo la data di quello script pippo.py utilizzato al momento dell'import, dato che spesso può essere aggiornato esternamente.

Grazie

11
Base / Re:Pulizia memoria interprete python
« il: Gennaio 30, 2018, 11:17 »
Ok, allora abbandono tutto, a quanto pare non si può cancellare tutto, pulire ogni singola cosa dell' interprete senza uscire e riaprire per liberare memoria.

Grazie

12
Base / Re:Pulizia memoria interprete python
« il: Gennaio 30, 2018, 09:15 »
Ora, quello che scrivi è troppo confuso per capirci qualcosa. Parli di "script che lavorano in autonomo", "con cicli while True" (le due cose potrebbero essere collegate, oppure no). Poi parli anche di "uno principale" che "richiama (richiama?????????? eh??????) centinaia di def (eh??????)", come se questo script principale facesse degli import degli altri script (ma magari mi sbaglio, non si capisce in effetti).

Ora... al di là di tutto, forse per prima cosa dovresti almeno rozzamente distinguere tra DATI e CODICE. Voglio dire, posso immaginarmi una situazione in cui ho 1000 MODULI PYTHON da importare, quando in effetti ho 1000 ALGORITMI DIVERSI da eseguire. Che poi, anche in questo caso, insomma... stiamo parlando di python... metaclassi, metaprogrammazione, metatutto a pranzo e a cena... boh, prima di tutto mi farei venire in mente se non c'è un modo per fattorizzarli, generarli al volo, questi mille algoritmi. Ma comunque.

Ripeto, non si capisce esattamente qual è la tua situazione e il tuo problema. Magari in effetti è una situazione in cui qualcuno che non è mai andato oltre il primo capitolo del manuale si è messo a martellare un po' di script python qualche anno addietro, e poi la cosa è cresciuta in modo disordinato fino a una giungla di cui nessuno capisce niente. Succede, figurati. Però, se vuoi riparare tutto questo, forse ti conviene, almeno tu, andare oltre il primo capitolo del manuale...

Per prima cosa capisci se effettivamente questi mille moduli python, essenzialmente, sono lì perché fanno davvero mille COSE diverse, oppure sono lì solo perché ciascuno contiene un set di DATI diversi da elaborare. Cioè, se la tua situazione fosse (semplificando) qualcosa del genere...

# modulo_uno.py
DATA = [un lungo set di dati qualsiasi....]

def elabora(data=DATA):
     # una funzione che elabora i dati

#----------------------------------
# modulo_due.py
DATA = [un altro, diverso, lungo set di dati qualsiasi....]

def elabora(data=DATA):
     # la stessa medesima funzione che elabora i dati

# -----------------------------------
# ... e così via fino a modulo_mille.py

# -----------------------------------
# modulo_principale.py
import modulo_uno
import modulo_due
...
import modulo_mille
# o magari anche importando dinamicamente, come avevi chiesto in un altro thread se ben ricordo

modulo_uno.elabora()
modulo_due.elabora()
...
modulo_mille.elabora()
# o magari in modo più elegante, usando un ciclo, va a sapere.

... ecco, se la tua situazione fosse qualcosa del genere, allora questa sarebbe una sciocchezza.
La mia situazione è come il rigo 28.
In ogni caso non posso permettermi stravolgere il tutto, non sono a casa con un raspberry o altro che posso permettermi di fare prove, spegnere il pc e rinviare a quando mi va, bloccherei una produzione ed in ogni caso con le curiosità di tutti stiamo andando ben oltre il problema alla mia domanda.
Ho bisogno di pulire memoria ram mentre lavora questo programma, a fine di tutto, prima che ricomincia il ciclo da capo, Non esistono soluzioni?
Il garbage collect ad esempio, se usato per bene può essermi di aiuto?

13
Base / Re:Pulizia memoria interprete python
« il: Gennaio 29, 2018, 15:18 »
Ma una curiosità, giusto per capire, ci sono un po' di numeri alla mano?


Perché imho l'importazione di un modulo non ha chissà quale grande footprint in memoria, e poi le istanze dei moduli dovrebbero essere dei singleton.


Un minimo di profiling per capire cosa occupi così tanta memoria?


Per dire, io ho fatto una prova generando 20k di file python (vuoti) e importandoli tutti, e l'utilizzo di memoria è cresciuto di circa 40 mb. Ok che i file erano vuoti... ma 20k di import dovrebbero alzare un campanello d'allarme a monte.

Ho fatto delle prove, un ciclo che printa 100 volte CIAO ed ogni volta che lo fa la RAM occupata aumenta, eppure in quel caso non viene importato nulla, ne creati oggetti ecc...
Ma è possibile questa cosa?

14
Base / Re:Pulizia memoria interprete python
« il: Gennaio 29, 2018, 12:26 »
Ringrazio tutti, spiego in poche parole il dilemma.
Uso python per lavoro, non direttamente con la sua shell ma su un software industriale, di cui ne fa parte, e come versione installata ha la 3.x

Questo software offre la possibilità di automatizzare tutti i calcoli e non solo.
Gli script utilizzati scritti sono centinaia, di oltre 600 righe caduno, per non parlare di uno principale, ormai diventata una libreria da cui vengono richiamati centinaia di def all'occorrenza, che ha un totale di oltre 16000 righe.
Per motivi di produzione molti script lavorano in autonomo, con cicli while True, perché sono notte e giorno sempre in funzione.
Il motivo principale è proprio questo, immaginate un pc server in cui gli arrivano 1000 informazioni al giorno e di queste informazioni deve elaborarle e renderle disponibili alla produzione, per fare questo i cicli infiniti ci devono essere per forza, ma il punto debole è proprio questo, la Ram viene impegnata sempre di più, perchè al primo ciclo completato restano memorizzati oggetti, liste, moduli importati ecc... che purtroppo non posso richiamare a monte una sola volta, proprio perchè spesso cambia il tipo di analisi da applicare e la RAM viene saturata presto ciclo dopo ciclo!
Mi rendo conto che sono su uno dei grandi forum di python, e ho a che fare con gente esperta che davvero sa cosa dice e scrive ed io sono solo un puntino insignificante e i vostri commenti sono perfettamente comprensibili, ma purtroppo ho questo problema e devo trovare una soluzione, perdonatemi se non sono un esperto come voi ma solo un principiante che prova a scrivere 4 righe e fare domande insensate, ma nel mio piccolo tanto insensate non sono fidatevi.

Grazie

15
Base / Re:Pulizia memoria interprete python
« il: Gennaio 26, 2018, 18:10 »
Cosi non va  ;:(

Pagine: [1] 2 3 ... 7