[Python] Chiamata di script python da programma in altro linguaggio.

Marco Beri marcoberi a gmail.com
Sab 3 Gen 2015 01:54:38 CET


2015-01-02 23:22 GMT+01:00 Aldes Rossi <aldes.rossi a rossisoft.com>:

> Vorrei scrivere in Python delle routine di servizio da richiamare in
> programmi scritti in COBOL.
> Per esempio: certe operazioni su stringhe, esecuzione di certi calcoli,
> compilazioni di tabelle ...
>
> Per eseguire dal codice COBOL uno script esterno si usa la routine
> "SYSTEM", passando
> come argomento una stringa contenemte il comando che si digiterebbe nella
> linea di comando
> per lanciare lo script manualmente.
>
> Per esempio:
>
> MOVE stringa-da-elaborare  TO variabile
> CALL "SYSTEM"  USING  "PYTHON  nome-script  variabile"
> ...
>
> Così si passa allo script python il dato da elaborare.
> Ma lo script python, come restituisce al programma cobol il dato elaborato?
>

Col piffero... :-)

Scherzi a parte, puoi provare a ridirigere l'output su un file e poi da
COBOL aprire quel file. Però questo funziona solo se:

   - COBOL aspetta la fine dell'esecuzione di SYSTEM
   - il tuo programma COBOL gira in unica istanza
   - Saturno e Giove sono allineati

Ciao.
Marco.
P.S. Per curiosità prima di inviare questa risposta ho pure fatto una
ricerchina e, lo and behold, ci avevo azzeccato. Da
http://community.microfocus.com/microfocus/cobol/net_express__server_express/w/knowledge_base/6537.invoke-a-unix-command-from-within-cobol-using-call-system-and-retrieve-return-code.aspx
:

To pass data back to COBOL from a UNIX command, have the command write the
data to a file, then have COBOL read the file. For example, CALL "SYSTEM"
with the command "ls -l >lsout.txt", and then program COBOL to open
"lsout.txt" as a line sequential file and read the file line by line.


-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
http://beri.it/articoli/ - Qualche articolo
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150103/76c4aab6/attachment-0001.html>


Maggiori informazioni sulla lista Python