Je crée un script Python où il effectue un tas de tâches et l'une de ces tâches consiste à lancer et à ouvrir une instance d'Excel. Quelle est la manière idéale d'accomplir cela dans mon script?Comment lancer une instance d'une application en utilisant Python?
Répondre
Alors que les réponses Popen
sont raisonnables pour le cas général, je recommande win32api
pour ce cas précis, si vous voulez faire quelque chose d'utile:
Il va quelque chose comme ceci:
from win32com.client import Dispatch
xl = Dispatch('Excel.Application')
wb = xl.Workbooks.Open('C:\\Documents and Settings\\GradeBook.xls')
xl.Visible = True # optional: if you want to see the spreadsheet
Tiré de a mailing list post mais il y a beaucoup d'exemples autour.
Si vous voulez voir la feuille de calcul Excel, vous devez ajouter xl.Visible = True – panofish
ou
os.system("start excel.exe <path/to/file>")
(en supposant qu'il est dans le chemin, et vous êtes sur Windows)
et également sous Windows, juste start <filename>
fonctionne, aussi - si c'est une extension associée déjà (comme xls serait)
Notez que sous Windows vous verrez la fenêtre cmd s'ouvrir et se fermer rapidement si vous avez 'os.system()'. À mon humble avis, il est préférable d'utiliser 'os.startfile()'. – 10basetom
J'aime popen2 pour la capacité de surveiller le processus.
excelProcess = popen2.Popen4("start excel %s" % (excelFile))
status = excelProcess.wait()
http://www.python.org/doc/2.5.2/lib/module-popen2.html
EDIT: soyez conscient que l'appel attente() bloquera jusqu'à ce que le processus revient. Selon votre script, cela peut ne pas être votre comportement souhaité.
Le subprocess le module est appelé à remplacer plusieurs autres, des modules et des fonctions plus anciennes, telles que:
- os.system
- os.spawn *
- os.popen *
- popen2 . *
- commandes. *
.
import subprocess
process_one = subprocess.Popen(['gqview', '/home/toto/my_images'])
print process_one.pid
Comme d'autres l'ont indiqué, je suggérerais os.system. Au cas où quelqu'un est à la recherche d'une solution compatible Mac, voici un exemple:
import os
os.system("open /Applications/Safari.app")
- 1. Comment lancer une liste en utilisant des génériques en Java?
- 2. Comment lancer Safari depuis une application iPhone?
- 3. Comment lancer un script python sous Windows?
- 4. Comment compresser une instance d'objet .net en utilisant gzip
- 5. Comment créer une instance d'une classe dans une application ASP.NET
- 6. Comment lancer mon application ruby en utilisant la bibliothèque d'extension ruby (en c), dans windows?
- 7. Lancer une page Web sur un onglet Firefox (victoire) en utilisant Python
- 8. Comment lancer une opération sur une collection en Python et collecter les résultats?
- 9. Comment lancer raccourci réseau wifi en utilisant C#
- 10. Comment lancer un script python en arrière-plan?
- 11. Hibernate utilisant une instance de javax.sql.DataSource
- 12. Comment créer une instance d'une classe dans une autre classe en Python
- 13. Étant donné un type de classe comment créer une instance en Python?
- 14. Comment crypter le texte dans une image en utilisant python
- 15. Lancer une application et l'envoyer au second moniteur
- 16. Python - impression de toutes les références à une instance spécifique
- 17. Comment démarrer une nouvelle application Web ASP.NET en utilisant C#
- 18. Comment créer une application dans IIS 5.0 en utilisant powershell?
- 19. Comment ajouter une application au démarrage en utilisant l'installateur?
- 20. Comment puis-je automatiser une instance existante d'Internet Explorer en utilisant Perl?
- 21. Lancer une URL à partir d'une application WinForms
- 22. Comment trouver mon chemin python en utilisant python?
- 23. Comment lancer une interface en tant que type dans C#?
- 24. Comment puis-je travailler sur la hiérarchie des classes donnée une instance d'objet en Python?
- 25. Comment lancer mon propre programme en utilisant une commande dans Shell?
- 26. Puis-je lancer une instance d'une classe par une variable Type plutôt qu'un type explicite?
- 27. oauth google en utilisant python
- 28. Web Service lancer exception en utilisant Axis2 Java
- 29. lancer une application iPhone native depuis un autre
- 30. Comment lancer des applications android à partir d'une autre application
ipc - http://en.wikipedia.org/wiki/Inter-process_communication – warren