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 <[email protected]> ha scritto: > Ciao Giuliano > > Il giorno lun 10 nov 2025 alle ore 01:50 Giuliano Curti < > [email protected]> 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 > [email protected] > https://lists.python.it/mailman/listinfo/python >
_______________________________________________ Python mailing list [email protected] https://lists.python.it/mailman/listinfo/python
