[Python] Modulo os, subprocess o altro?
Marco De Paoli
depaolim a gmail.com
Lun 10 Nov 2025 10:20:15 CET
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
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20251110/ac3156a3/attachment.html>
Maggiori informazioni sulla lista
Python