|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2008
Città: Breme City ;-P
Messaggi: 429
|
Parsing di un file
Ciao a tutti.
Vi chiedo cortesemente un aiuto. Nella mia azienda ci troviamo in una situazione un pò particolare. Vi spiego rapidamente. Dobbiamo installare un programma (uno schedulatore) che dovrà gestire tramite un agente installato su una macchina linux, il lancio di determinati job. Questi job al loro interno integrano la gestione di diverse schede parametro che vengono selezionate tramite determinate righe di controllo. Ad esempio: #rigacontrollo1 parametro1 #rigacontrollo2 parametro2 ... #rigacontrollofine Lo schedulatore tramite l'agente passerebbe il parametro #JI,ID=x ma come si può fare il parsing di un file in queste condizioni e con quale linguaggio? Il vecchio sistema utilizzava dei programmi COBOL scritti apposta ma non possiamo riciclarli. Ho pensato di suggerire l'uso di Perl, è un suggerimento valido o voi avete consigli migliori? Se avete anche qualche esempio ve ne sarei molto grato. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Perl va anche bene, ma da pythonista non me la sento di consigliartelo.
Realizzare il parsing di quel file con Python è abbastanza semplice, e se la struttura è ESATTAMENTE quella (leggi: non è possibile che ci siano errori: c'è una rigorosa alternanza delle righe in quel formato), te ne esci fuori con qualche riga di codice. Però non chiedermi di scrivere il codice per te. Posso cercare di aiutarti affinché lo realizzi tu, nei limiti di tempo e delle mie conoscenze, ovviamente.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2014
Messaggi: 3826
|
Come ha già detto cdimauro, se il file ha quella struttura, il parsing in Python lo effettui con poche righe di codice. Ma anche in Perl, o in un altro linguaggio.
Quindi, il tutto è legato alle tue preferenze. |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2008
Città: Breme City ;-P
Messaggi: 429
|
Anzitutto grazie a entrambi per la risposta. La struttura esatta sarebbe più o meno questa (non l'ho scritta prima perchè non so quanti sappiano cos'è un JCL).
BEGINJOB #JI,ID=1 parametro1 #JI,ID=2 parametro2 ... #JEND LABEL name=STEP... istruzione1 istruzione2 parametrox (derivata dalla selezione precedente) EXECPGM .... ENDJOB Io non sono un programmatore al di là di script realizzati in shell bash, korn, ecc. però posso consigliare al fornitore (o eventualmente agli sviluppatori interni) di provare a sviluppare qualcosa in merito, all'ultima riunione c'era la possibilità che abbandonassero tutto per via di questo scoglio. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
@Zifnab: non conosco JCL, ma concordo con coffe_killer, e ti faccio presente che l'esempio che hai fornito è certamente ben più complesso di quello che hai descritto prima.
Rimane ancora abbastanza semplice da eseguirne il parsing senza richiedere la scrittura di un vero e proprio parse, ma questo sempre che non salti fuori qualche altra cosa.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Feb 2008
Città: Breme City ;-P
Messaggi: 429
|
Quote:
Non sei molto lontano dalla verità, in effetti lavoro (come consulente IT) presso una società assicurativa, però non è un vero mainframe IBM perchè MVS era stato migrato verso una piattaforma prima Solaris poi Linux su cui risiede un software di rehosting in grado di gestire programmi COBOL CICS/BATCH, le connessioni 3270 ecc. I nostri JCL hanno una struttura piuttosto simile ai JCL veri e propri, ma le sintassi sono diverse, anche più semplici. E quindi appoggiandoci su una macchina linux possiamo disporre sia di Perl che di Python... e a proposito grazie a voi ho già suggerito questa ipotesi ai sistemisti (a dire il vero uno voleva provare l'uso di Bash ma mi sembra masochismo!!), oggi o domani ne parlo con i nostri quadri così iniziamo a verificare quanto e se si possa realizzare. Tranquilli, non vi chiedo di aiutarci, so che ci sarebbe da uscire pazzi... e poi loro vengono pagati per questo |
|
|
|
|
|
|
#7 | ||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
![]() Digli di provare a realizzare qualcosa di decente, leggibile, e mantenibile: con Python. Anche se la piattaforma è vecchia, potete modernizzarla un po' alla volta, quando capita l'occasione, come in questo caso. Ma evitate altre scelte sbagliate: errare humanum est, perseverare autem diabolicum.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
|
|
|
|
|
#8 | ||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Devo dire che la partecipazione al forum in tutti questi anni mi ha consentito di ampliare il mio bagaglio culturale, e la mia esperienza. Tanta roba mi è stata molto utile a livello professionale, perché me la sono "rivenduta" nei progetti che ho realizzato, o nei colloqui che ho fatto. Quote:
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jan 2014
Messaggi: 3826
|
Quote:
Ancora si fanno approcciare i ragazzi alla programmazione con il C. |
|
|
|
|
|
|
#10 | ||
|
Senior Member
Iscritto dal: Feb 2008
Città: Breme City ;-P
Messaggi: 429
|
Quote:
Quote:
|
||
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Feb 2008
Città: Breme City ;-P
Messaggi: 429
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:19.





















