Visualizzazione post con etichetta Python. Mostra tutti i post
Visualizzazione post con etichetta Python. Mostra tutti i post

martedì 16 ottobre 2018

Workaround per carico cambi ECB in SAP.

Tramite il report RFIMPNBS è possibile caricare i cambi della Banca Centrale Europea direttamente in un sistema SAP.

Tale metodo, spiegato per bene nella nota 1286897, utilizza una pagina pubblicata dalla BCE con i cambi del giorno.

Da inizio settembre però è stato modificato l'url della pagina che viene spostata su protocollo HTTPS. Infatti i nostri caricamenti automatici dei cambi sono terminati il giorno 5 di settembre, quando sono stati caricati i cambi con validità il giorno successivo (quindi il 6 settembre) e poi, evidentemente, non è più stata trovata la pagina HTTP.

In queste note un metodo alternativo al caricamento alla chiamata diretta HTTPS dal report.

mercoledì 6 dicembre 2017

Collegarsi a SQL server e leggere tabelle.

Esempio di connessione ad un database SQL server e di lettura tabella.

Nota: si utilizzano i driver di collegamento ODBC di Microsoft, se non sono già installati nel PC si deve procedere con l'installazione, altrimenti restituisce l'errore:

pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato.

martedì 28 novembre 2017

Python: lavorare con i file Excel.

Con Python è possibile, tramite la libreria openpyxl, lavorare sui file Excel.

Nel mio caso il problema proposto era il seguente: in una condivisione di rete si vogliono salvare dei file excel che contengono delle "Action List": le righe contengono delle attività con delle date di scadenza. Si vuole inviare, in modo automatico, delle mail quando l'attività non è stata completata e la data di scadenza viene superata.

Tramite le macro VBA in Excel si possono testare le date e inviare mail, ma per poterle attivare si dovrebbe aprire il file.

Invece, tramite Python, posso creare un programma che legga i files e poi schedularlo in modo venga eseguito ad intervalli regolari.

Creare lista files contenuti in una cartella.

Si vuole creare una lista bidimensionale [ percorso , nome file ] di tutti i file che hanno una determinata estensione contenuti in una cartella.

Nell'esempio si lavora con 2 percorsi differenti: nel primo vengono analizzate anche le sottocartelle, nel secondo si prendono in considerazione solo i files presenti nella cartella.

sabato 7 ottobre 2017

Python: lock file.

Il programmino in Python scritto per dialogare con la macchina PLC usa diversi file aperti in modalità scrittura, ed ero convinto che questo fosse sufficiente per impedire l'esecuzione multipla dello stesso programma.

Invece, anche se un file è aperto un modalità 'w' (write), il file non risulta bloccato, pertanto il programma può essere in esecuzione in sessioni differenti nello stesso PC.

venerdì 10 febbraio 2017

Python: interrompere un loop con la pressione di un tasto

Il problema che mi si è presentato era questo:

in un programma lanciato da riga di comando, senza bottoni o oggetti grafici, volevo che fosse consentito premere un pulsante per terminare un loop ma che però, se non viene premuto nulla, il loop resti in esecuzione.

In pratica l'operatore deve poter fermare un programma, tramite la pressione di un tasto, ma il programma dovrebbe continuare a essere in esecuzione: se non si preme nessun tasto il loop prosegue.

sabato 4 febbraio 2017

Comunicare con un PLC Ethernet

Il python dispone di una libreria per la gestione della comunicazione con i PLC.

Nel nostro caso si trattava di dialogare con un Siemens 1500, non ho idea se la cosa funzioni anche per altri PLC o se sono necessarie librerie differenti.

Si tratta del package snap7, non è distributito nella installazione standard di python, pertanto si deve procedere ad una semplice installazione.

venerdì 3 febbraio 2017

Python

Mi sono avvicinato al Python qualche tempo fa quando mia figlia, iscritta ad un corso di Laurea in Matematica, doveva preparare un lavoro per l'esame di programmazione.

Nota: questo è un post introduttivo all'argomento Python, dove voglio solo condividere il mio (iniziale) giudizio su questo linguaggio, seguiranno altri post relativi a problemi risolti con lo stesso.