[Python] Sapete come lanciare l'esecuzione di uno script python3.4 dallo script python 2.76?

Manlio Perillo manlio.perillo a gmail.com
Ven 26 Set 2014 12:48:49 CEST


2014-09-26 10:12 GMT+02:00 Marco Ippolito <ippolito.marco a gmail.com>:

> Ciao a tutti,
> ho uno script a.py scritto in python3.4 ed ho un altro b.py scritto in
> python 2.76
>
> So lanciare l'esecuzione di a.py all'interno del virtualenv py3.4 che
> ho creato, ma non so come lanciare l'esecuzione dello script a.py
> dallo script b.py
>
> Sapete come fare?
>

Ci sono diversi modi, dipende da come devi interaggire con lo script
eseguito, ad esempio se devi leggere lo stdout o altro.

>>> os.system("a.py")
oppure
>>> os.system("python2 a.py")

è la versione semplice. Il primo caso funziona se sei su un sistema UNIX,
lo script ha la shebang correttamente impostata ed il file è eseguibile.

Il metodo raccomandato è:
>>> import subprocess
>>>
>>> p = subprocess.call("a.py")
oppure
>>> p = subprocess.call(["python2", "a.py"])


Ciao  Manlio
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140926/999b39a4/attachment.html>


Maggiori informazioni sulla lista Python