Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > Interfaçage autre langage
Interfaçage autre langage Forum d'entraide pour l'interfaçage avec d'autres langages (ctypes, api C, swig, ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 05/06/2012, 11h18   #1
squallmrs
Invité régulier
 
Inscription : novembre 2008
Messages : 37
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 37
Points : 8
Points : 8
Par défaut [PYTHON/FORTRAN] Problème accés à COMMON Block Python Fortran

Bonjour tout le monde ,
J'ai une libraire FORTRAN et j essaie d'utiliser cette librairie via un script python. Pour cela avec f2py, je créer le module Python a partir de "MaLibFortran".

Code :
1
2
 
f2py -c FichierSourcedelalibFortran -m MalibFortran --fcompiler=gnu95 --f90flags=-O3
Ma librairie FORTRAN contient un COMMON
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
* INCLUDE ZCTRAN
 
      INTEGER       NMAX
      PARAMETER    (NMAX=50)
 
      REAL*8        PI
      PARAMETER    (PI=3.1415926535D00)
 
      COMPLEX*16    II
      PARAMETER    (II=(0.D00,1.D00))
 
*
      COMMON /ZCTRAN/ SOMMET,EXC,TC,KC,ZFIX
 
      COMMON /ZCTRAN/ ANG,EX,LONG,LINT,T,XP,YP,ERREL
      COMMON /ZCTRAN/ K,PERIM,PERIMINT,QPUIT,ERRMAX,ERRMOY,ECERRM
      COMMON /ZCTRAN/ DTMIN,DTMAX,LARC,R,LMAXP,PRECG,PRECMI,PRECMA
 
      COMMON /ZCTRAN/ NCOTE,IINF,IFIX1,IFIX2,ICONT,
     .                IZFIX,IPUIT,NLIGNE,IMARQ
 
      COMMON /ZCTRAN/ OUVERT

J'aimerais donc dans mon code python avoir accés à :
Code :
1
2
3
4
5
6
7
>>> import MalibFortran 
>>> MalibFortran .f1() #f1 etant une fonction , ca c'est ok ca fonctionne
>>> print MalibFortran.ZCTRAN.NCOTE # !!!!!!!!!!!!! Ne fonctionne pas : voici le message d erreur : Traceback (most recent call last):
  File "<stdin>", line 1, in ?
AttributeError: 'module' object has no attribute 'ZCTRAN'
Pouvez vous m'aider s'il vous plait...
squallmrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2012, 17h01   #2
squallmrs
Invité régulier
 
Inscription : novembre 2008
Messages : 37
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 37
Points : 8
Points : 8
La solution que j ai trouvé est celle ci ...

COMMON /ZCTRAN/ SOMMET,EXC,TC,KC,ZFIX,
. ANG,EX,LONG,LINT,T,XP,YP,ERREL,
. K,PERIM,PERIMINT,QPUIT,ERRMAX,ERRMOY,ECERRM,
. DTMIN,DTMAX,LARC,R,LMAXP,PRECG,PRECMI,PRECMA,
. NCOTE,IINF,IFIX1,IFIX2,ICONT,
. IZFIX,IPUIT,NLIGNE,IMARQ,
. OUVERT

et l appel se fait
MalibFortran.zctran.ncote # Mettre en minuscule
squallmrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 14h32.


 
 
 
 
Partenaires

Hébergement Web