<div dir="auto"><div dir="auto">Ciao a tutti</div><div dir="auto"><br></div><div dir="auto">e grazie delle risposte arrivate.</div><div dir="auto"><br></div><div dir="auto">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".</div><div dir="auto">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().</div><div dir="auto"><br></div><div dir="auto">Grazie, ciao,</div><div dir="auto">Giuliano</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">Il lun 10 nov 2025, 17:45 Marco De Paoli <<a href="mailto:depaolim@gmail.com">depaolim@gmail.com</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Ciao Giuliano</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno lun 10 nov 2025 alle ore 01:50 Giuliano Curti <<a href="mailto:giulianc51@gmail.com" target="_blank" rel="noreferrer">giulianc51@gmail.com</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Ciao a tutti,<div dir="auto"><br></div><div dir="auto">stavo sviluppando per diletto una procedura gui (pyqt5) che accede a un database (sqlite3).</div><div dir="auto"><br></div><div dir="auto">Anziché operare su un codice monolitico, ho preferito sviluppare procedure più specializzate e snelle, ognuna con il proprio compito.</div><div dir="auto"><br></div><div dir="auto">Adesso vorrei riunirle sotto un menù generale dal quale poterle lanciare a seconda delle necessità.</div><div dir="auto"><br></div><div dir="auto">Le procedure vengono semplicemente lanciate e chiuse, ciascuna separata dalle altre, senza bisogno di passarsi argomenti.</div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">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.</div></div></blockquote><div><br></div><div>Sì, certo, puoi usare subprocess (doc. ufficiale <a href="https://docs.python.org/3/library/subprocess.html" target="_blank" rel="noreferrer">https://docs.python.org/3/library/subprocess.html</a>)</div><div>Esempio:</div><div><br></div>import subprocess</div><div class="gmail_quote">import sys<br>subprocess.check_call([sys.executable, "procedura.py"])<div><br></div><div>Ma, attenzione, in questo modo stai lanciando un secondo processo con un secondo interprete python</div><div><br></div><div>Hai valutato di usare semplicemente delle funzioni? (doc ufficiale <a href="https://docs.python.org/3/tutorial/controlflow.html#defining-functions" target="_blank" rel="noreferrer">https://docs.python.org/3/tutorial/controlflow.html#defining-functions</a>)</div><div>Se definisci una funzione chiamata ad esempio "my_fun" nel file procedura.py poi, da un altro file python la puoi chiamare così:</div><div><br></div>import procedura<br>procedura.my_fun()<div><br></div><div>A meno di casi particolari ti consiglio decisamente l'approccio "a funzioni" invece che quello a "esecuzione di processi"</div><div><br></div><div>Ciao,</div><div>Marco </div></div></div>
_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank" rel="noreferrer">Python@lists.python.it</a><br>
<a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer noreferrer" target="_blank">https://lists.python.it/mailman/listinfo/python</a><br>
</blockquote></div>