<div dir="ltr"><div>Ciao Giuliano</div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">Il giorno lun 10 nov 2025 alle ore 01:50 Giuliano Curti <<a href="mailto:giulianc51@gmail.com">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">https://docs.python.org/3/library/subprocess.html</a>)</div><div>Esempio:</div><div><br></div>import subprocess</div><div class="gmail_quote gmail_quote_container">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">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>