IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques tierces Python Discussion :

Python et win32com


Sujet :

Bibliothèques tierces Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Python et win32com
    Bonjour à tous,

    Mon objectif est de commander une application (Softimage XSI v6.5) depuis un script python. Malheureusement, j'ai des erreurs incoherentes. J'espère que quelqu'un pourra m'aiguiller dans le monde du dispatch.

    voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    def testA() :
    	print "Test A starting..."
    	from win32com.client import dynamic as d
    	App = d.Dispatch( 'XSI.Application' ).Application
    	print App.Version()
     
    def testB() :
    	print "Test B starting..."
    	import win32com
    	App = win32com.client.dynamic.Dispatch( 'XSI.Application' ).Application
    	print App.Version()
     
    def testC() :
            print "Test C starting..."
    	import win32com.client
    	import win32com.client.dynamic
    	from win32com.client import gencache
            Gencache.EnsureModule('{269C4D8C-E32D-11D3-811D-00A0C9AC19A9}', 0, 1, 0) 	
    	App = win32com.client.dynamic.Dispatch( 'XSI.Application' ).Application
    	print App.Version()
    le testA() et le testC() me donnent la même erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Test A starting...
    Traceback (most recent call last):
      File "test_pyxsi.py", line 29, in <module>
        testA()
      File "test_pyxsi.py", line 10, in testA
        App = d.Dispatch( 'XSI.Application' ).Application
      File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py", line 105, in Dispatch
        IDispatch, userName = _GetGoodDispatchAndUserName(IDispatch,userName,clsctx)
      File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py", line 98, in _GetGoodDispatchAndUserName
        return (_GetGoodDispatch(IDispatch, clsctx), userName)
      File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py", line 78, in _GetGoodDispatch
        IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
    pywintypes.com_error: (-2147024770, 'Le module sp\xe9cifi\xe9 est introuvable.', None, None)
    Et le testB() me renvoie cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Test B starting...
    Traceback (most recent call last):
      File "test_pyxsi.py", line 29, in <module>
        testB()
      File "test_pyxsi.py", line 16, in testB
        Application = win32com.client.dynamic.Dispatch( 'XSI.Application' ).Application
    AttributeError: 'module' object has no attribute 'client'
    Je suis desespéré !
    Merci d'avance pour vos réponses !

    Manu.


    PS : J'ai tenté d'effacer le repertoire gen_py, et de forcer la creation ensuite avec makepy mais cela ne change rien à mes problèmes. MakePy me presente neanmoins la Softimage|XSI Object Model Library...

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Points : 139
    Points
    139
    Par défaut
    Bonjour,

    en ce qui concerne le testB, il me semble que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    import win32com.client.dynamic
    devrait résoudre le problème.

    Pour le reste, je suggère d'utiliser makepy.py, situé dans \Lib\site-packages\win32com\client . makepy permet de lister les librairies disponibles et d'obtenir l'interface de l'objet.

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/02/2014, 14h28
  2. python et excel [win32com] : caractériel ? SOS
    Par preacher_man dans le forum Bibliothèques tierces
    Réponses: 5
    Dernier message: 19/10/2005, 17h24
  3. CORBA & PYTHON
    Par stan91stan dans le forum CORBA
    Réponses: 5
    Dernier message: 10/06/2004, 12h32
  4. module .so pour python... ?!
    Par totoetlititi dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 09/03/2004, 14h51
  5. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo