L'exécution de plusieurs scripts Python

Je voudrais créer un simple programme en Python qui va exécuter simultanément 2 indépendant de scripts. Pour l'instant, les deux scripts, il suffit d'imprimer une séquence de chiffres, mais mon intention est d'utiliser ce programme pour exécuter simultanément un peu de Twitter en streaming des programmes dans l'avenir.

Je crois bien que je besoin pour utiliser subprocess.Popen mais je ne peux pas tout à fait obtenir ma tête autour de quels arguments je dois mettre dedans. Il y a une question similaire sur StackOverflow mais le code à la condition (a collé ci-dessous) n'a pas d'imprimer quoi que ce soit. Je vous remercie de votre aide.

Mes fichiers sont:

thread1.py

thread2.py

import subprocess

subprocess.Popen(['screen', './thread1.py']))
subprocess.Popen(['screen', './thread2.py'])
  • N'est-il pas plus simple et plus évident à faire fonctionner en parallèle les processus à l'aide des pipelines sous Unix? I. e. ./thread1.py;./thread2.py
  • Oui, normal des processus Unix pipeline fera l'affaire. Alors que juste un heads-up, si les opérations i/o bound, vous devriez envisager d'utiliser des threads sur les processus en Python.
  • Merci, j'ai essayé ce que vous avez suggéré: python ./thread1.py;./thread2.py mais je suis le seul à en obtenir les numéros imprimés à partir de la première script et je voudrais les deux scripts à exécuter en même temps.
  • En raison de la canalisation d'utilisation vous devez exécuter vos scripts distincts python programmes: python thread1.py;python thread2.py. Dans votre cas, je suppose que vous n'avez pas le python preambula, de sorte que vos scripts nécessitent d'utiliser l'interpréteur python, comme je l'ai dit ci-dessus. C'est la raison, pourquoi vous second script ne fonctionne pas. Attention vous devez être dans le répertoire de vos fichiers se trouvent dans, et vous n'avez pas besoin de le "./" préfixe qui indique que vous pour prendre le fichier à partir du dossier.
  • Merci, cela fonctionne!
  • J'ai essayé d'utiliser le ci-dessus Unix méthode pour les deux scripts de téléchargement Twitter délais. Malheureusement, il semble que les scripts ne sont pas exécutées en parallèle. Chacun de mes scripts construit un distinct table MySQL et je peux voir que la table pour le deuxième script ne commence la construction après je interrompre le premier script. Est-ce le cas que @AashishP mentionné et que je devrais être à l'aide de threads?
  • Quelqu'un peut-il m'aider à le modifier pour fonctionner dans Windows (10)? Je suis actuellement en train de faire cela dans ma fenêtre d'Invite de Commande: C:/Python27/Scripts>pip NewCode5.1.py; pip NewCode5.2.py j'ai mis ces deux .py fichiers dans les Scripts du dossier, qui est aussi celle où j'ai déjà eu à utiliser le pip de commande. J'obtiens l'erreur suivante: 'ERREUR: commande inconnue NewCode5.1.py;' Toutes les suggestions?

InformationsquelleAutor user3722736 | 2014-06-11