[Python] Modulo os, subprocess o altro?

Giuliano Curti giulianc51 a gmail.com
Mar 11 Nov 2025 13:08:52 CET


Ciao a tutti

e grazie delle risposte arrivate.

Forse però non ho spiegato bene il mio dubbio che non è tanto su cosa sia
meglio tra i moduli os e supprocess o usare import "procedura".
Avendo io il SOLO problema di avviare da un menù centrale una serie di
applicazioni SENZA bisogno di scambiare tra loro dati e/o passare /
riceverne, ci sia qualche motivo (inaffidabilità, errori, ecc.) che
sconsiglino l'uso di os.system().

Grazie, ciao,
Giuliano

Il lun 10 nov 2025, 17:45 Marco De Paoli <depaolim a gmail.com> ha scritto:

> Ciao Giuliano
>
> Il giorno lun 10 nov 2025 alle ore 01:50 Giuliano Curti <
> giulianc51 a gmail.com> ha scritto:
>
>> Ciao a tutti,
>>
>> stavo sviluppando per diletto una procedura gui (pyqt5) che accede a un
>> database (sqlite3).
>>
>> Anziché operare su un codice monolitico, ho preferito sviluppare
>> procedure più specializzate e snelle, ognuna con il proprio compito.
>>
>> Adesso vorrei riunirle sotto un menù generale dal quale poterle lanciare
>> a seconda delle necessità.
>>
>> Le procedure vengono semplicemente lanciate e chiuse, ciascuna separata
>> dalle altre, senza bisogno di passarsi argomenti.
>>
>> Ho provato ad usare il modulo os ed il comando os.exec(procedura.py)
>> sembra fare al caso mio, però leggevo che può essere poco affidabile e
>> veniva consigliato il modulo subprocess.
>>
>> Magari ho frainteso, però essendo impreparato sull'argomento volevo avere
>> la vs opinione e qualche consiglio su dove orientarmi; anche segnalazioni
>> circa la documentazione da acquisire sono gradite.
>>
>
> Sì, certo, puoi usare subprocess (doc. ufficiale
> https://docs.python.org/3/library/subprocess.html)
> Esempio:
>
> import subprocess
> import sys
> subprocess.check_call([sys.executable, "procedura.py"])
>
> Ma, attenzione, in questo modo stai lanciando un secondo processo con un
> secondo interprete python
>
> Hai valutato di usare semplicemente delle funzioni? (doc ufficiale
> https://docs.python.org/3/tutorial/controlflow.html#defining-functions)
> Se definisci una funzione chiamata ad esempio "my_fun" nel file
> procedura.py poi, da un altro file python la puoi chiamare così:
>
> import procedura
> procedura.my_fun()
>
> A meno di casi particolari ti consiglio decisamente l'approccio "a
> funzioni" invece che quello a "esecuzione di processi"
>
> Ciao,
> Marco
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20251111/5ec42d13/attachment.html>


Maggiori informazioni sulla lista Python