J'ai donc essayé pendant des heures ... JOURS pour trouver un code pour exécuter 2 fichiers python simultanément.
J'ai essayé des sous-processus, du multitraitement, des bash et autres, je dois faire quelque chose de mal, je ne sais pas quoi.
J'ai 2 fichiers python et je veux les exécuter en parallèle, mais notez qu'aucun d'eux ne se termine. Je veux, pendant que le premier fichier est ouvert et en cours d'exécution, exécuter un deuxième fichier.
Tout ce que j'ai essayé n'ouvre que le premier fichier et s'arrête là, puisque le script est censé fonctionner 24/7. Notez que lorsque j'ai essayé d'utiliser un fichier bash séparé, il s'est ouvert sur git, puis fermé, sans rien faire. Je suis vraiment désespéré à ce stade ngl
Veuillez fournir des réponses détaillées avec code, car j'ai scanné tout Internet (StackOverflow inclus), j'ai tout essayé et rien ne semble fonctionner.
import subprocess
import LemonBot_General
import LemonBot_Time
import multiprocessing
def worker(file):
subprocess.Popen(["python3 LemonBot_Time.py"], stdout=subprocess.PIPE)
subprocess.Popen(["python3 LemonBot_General.py"],stdout=subprocess.PIPE)
if __name__ == '__main__':
files = ["LemonBot_General.py","LemonBot_Time.py"]
for i in files:
p = multiprocessing.Process(target=worker, args=(i,))
p.start()
C'est la dernière que j'ai essayée et qui n'a pas fonctionné. J'ai aussi essayé les commandes de sous-processus seules, qui ne fonctionnaient pas aussi. Le fichier Bash ne fonctionnait pas non plus.
EDIT: AUCUN des fichiers FINISH. Je veux les exécuter en parallèle.
Vous devriez pouvoir utiliser Popen à partir de sous-processus. A travaillé pour moi. Si vous supprimez la p.wait()
ligne, le deuxième fichier se fermera dès que ce premier fichier sera terminé.
import time
import subprocess
p = subprocess.Popen(['python', 'test_file.py'])
time.sleep(5)
print("Working well")
p.wait()
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras