Die Suche ergab 18 Treffer

von liddokun88
Freitag 6. April 2012, 14:55
Forum: Python mit anderen Sprachen verwenden
Thema: Fortran 77 dll importieren + function aufrufen
Antworten: 17
Zugriffe: 7940

Re: Fortran 77 dll importieren + function aufrufen

Ich stehe heute auf dem Schlauch, wie soll das nun aussehen?


from ctypes import *
c_double_p = POINTER(c_double)
test = windll.LoadLibrary("test.dll");

# call the functions in the dll
def A(B,C): # wobei C ein double array mit 8 argumenten ist
A = test.A_BC #select function in dll
A.argtypes ...
von liddokun88
Freitag 6. April 2012, 14:13
Forum: Python mit anderen Sprachen verwenden
Thema: Fortran 77 dll importieren + function aufrufen
Antworten: 17
Zugriffe: 7940

Re: Fortran 77 dll importieren + function aufrufen

als nachtrag nochmal eine Frage,

wie kann ich dem Algorithmus sagen, das der input C z.B. ein Array sein muss ?

Also angenommen C ist ein double Array mit 8 Argumenten, wie müsste ich das Argument C dann ändern?
von liddokun88
Dienstag 3. April 2012, 09:14
Forum: Allgemeine Fragen
Thema: Datei pfad nicht gefunden
Antworten: 15
Zugriffe: 4849

Re: Datei pfad nicht gefunden

ok habe eine Lösung gefunden die nun auch funktioniert.

wie bereits gesagt habe ich zunächst eine Datei geschrieben welche mir immer beim starten von Python das Verzeichniss in dem sich meine Datein befinden mit gibt. Im Anschluss verwende ich die funktion


os.path.dirname(os.path.abspath(__file ...
von liddokun88
Dienstag 3. April 2012, 07:20
Forum: Allgemeine Fragen
Thema: Datei pfad nicht gefunden
Antworten: 15
Zugriffe: 4849

Re: Datei pfad nicht gefunden

Sagen wir es gibt immer viel zu tun :mrgreen:

Wie dem auch sei, hab was hübsches gefunden mit dem man das ganze noch ein bischen verkürzen kann. Ich habe hierfür einfach den Befehl

import sys
sys.path.append('C:\Python27\ABC')

in eine Datei mit Namen sitecustomize.py in den Ordner C:\Python27 ...
von liddokun88
Montag 2. April 2012, 14:59
Forum: Allgemeine Fragen
Thema: Datei pfad nicht gefunden
Antworten: 15
Zugriffe: 4849

Re: Datei pfad nicht gefunden

gebe zu hab ich nicht gemacht, muss diese Anbindung schnellst möglichst fertig bekommen,
gibt noch ne Menge andere Arbeit hier leider :)

Aber der Tip mit der -1 gefällt mir schonmal sehr.
von liddokun88
Montag 2. April 2012, 14:50
Forum: Allgemeine Fragen
Thema: Datei pfad nicht gefunden
Antworten: 15
Zugriffe: 4849

Re: Datei pfad nicht gefunden

ist eine selbsgeschriebene Datei, die mehrere definierte Funktionen enthält.
An sich könnte ich das auch wo anders hinspeichern, das problem ist nur, dass das Programm meine
.dll einfach nicht finden will, es sei den ich gebe ihm irgendwie direkt den Pfad an.
Auf Die .dll soll später von aussen ...
von liddokun88
Montag 2. April 2012, 14:23
Forum: Allgemeine Fragen
Thema: Datei pfad nicht gefunden
Antworten: 15
Zugriffe: 4849

Re: Datei pfad nicht gefunden

ok hab erstmal eine Lösung, auch wenn sie nicht sehr ellegant ist muss ich sagen. Mit __file__ konnte ich nicht arbeiten, die Console gab mir da stets zurück das sie __file__ nicht kennen würde.


import sys
import os
from ctypes import *

sys.path.append('C:\Python27\ABC')
pathname = sys.path[8 ...
von liddokun88
Montag 2. April 2012, 09:39
Forum: Allgemeine Fragen
Thema: Datei pfad nicht gefunden
Antworten: 15
Zugriffe: 4849

Re: Datei pfad nicht gefunden

Bin dem Problem ein bischen näher gekommen. Habe zunächst mittels der funktion sys.path.append einen neuen Pfad hinzugefügt welchen er durchsuchen soll.


import sys
sys.path.append('C:\Python27\ABC')
# ABC ist hierbei ein Ordner in dem sich die Datein befinden sollen


Ich stelle fest, dass das ...
von liddokun88
Freitag 30. März 2012, 07:33
Forum: Allgemeine Fragen
Thema: Datei pfad nicht gefunden
Antworten: 15
Zugriffe: 4849

Re: Datei pfad nicht gefunden

Eine Frage stellt sich mir da noch.

Momentan befindet sich meine ABC.py in dem Python Hauptordner (bei mir einfach C:\Python27). Ich möchte aber nicht unbedingt wenn das nun mehr Datein werden mit der Zeit alle in diesen Ordner speichern. Wenn ich sie allerdings in einen Unterordner verschiebe, so ...
von liddokun88
Donnerstag 29. März 2012, 21:58
Forum: Allgemeine Fragen
Thema: Datei pfad nicht gefunden
Antworten: 15
Zugriffe: 4849

Re: Datei pfad nicht gefunden

Vielen dank für die Nachricht. Hast mich auf die richtige Idee gebracht.

Das problem bestand darin, dass ich zwar das modul per

import ABC


realisiert habe, jedoch habe ich einfach vergessen, dann die Abfrage der Funktionen in der dll mittels


ABC.hello(a)

vorzunehmen.
Vielen Dank nochmal ...
von liddokun88
Donnerstag 29. März 2012, 15:58
Forum: Allgemeine Fragen
Thema: Datei pfad nicht gefunden
Antworten: 15
Zugriffe: 4849

Datei pfad nicht gefunden

Hallo,

habe ein kleines programm geschrieben das eine .dll aufrufen soll. Öffne ich dieses modul (ABC.py) und klicke auf run, so werden alle funktionen ordnungsgemäß importiert und ich kann diese weiter nutzen.

Nun möchte ich gerne über eine anderes Modul das modul ABC.py aufrufen. Hier verwende ...
von liddokun88
Donnerstag 8. März 2012, 14:28
Forum: Python mit anderen Sprachen verwenden
Thema: Fortran 77 dll importieren + function aufrufen
Antworten: 17
Zugriffe: 7940

Re: Fortran 77 dll importieren + function aufrufen

ahhh endlich funktioniert es :D :D :D :D

Hattest recht mit dem c_double bei restype. Habe das geändert und alles geht.

Viellen Dank für die Hilfe :D
von liddokun88
Donnerstag 8. März 2012, 13:53
Forum: Python mit anderen Sprachen verwenden
Thema: Fortran 77 dll importieren + function aufrufen
Antworten: 17
Zugriffe: 7940

Re: Fortran 77 dll importieren + function aufrufen

Danke für die schnelle Nachricht. Hab das mal geändert so dass es nun wie folgt aussieht.



# import all functions from ctypes
from ctypes import *

# deklaration of double in/output
c_double_p = POINTER(c_double)

# give location of dll
Eth = windll.LoadLibrary("Eth.dll");

# call the functions ...
von liddokun88
Donnerstag 8. März 2012, 10:47
Forum: Python mit anderen Sprachen verwenden
Thema: Fortran 77 dll importieren + function aufrufen
Antworten: 17
Zugriffe: 7940

Re: Fortran 77 dll importieren + function aufrufen

Ich habe mal versucht aus ctypes schlau zu werden. Wahrscheinlich ist das aber auch wieder total falsch.
Wäre nett wenn einer mal sagen könnte wie das den nun in meinem bsp. aussehen muss.



# call the functions in the dll
def CP_ABC(A,B,C):
CP = Eth.CP_ABC_Eth #name of function
CP.restype = c ...
von liddokun88
Mittwoch 7. März 2012, 11:21
Forum: Python mit anderen Sprachen verwenden
Thema: Fortran 77 dll importieren + function aufrufen
Antworten: 17
Zugriffe: 7940

Re: Fortran 77 dll importieren + function aufrufen

Die Funktion ist wie gesagt Fortran 77 und vom Typ

Code: Alles auswählen


REAL*8 FUNCTION CP_ABC_ETH (REAL*8 A,REAL*8 B, REAL*8 C)

es handelt sich also hierbei beim In- und Output um double Werte.
von liddokun88
Mittwoch 7. März 2012, 09:40
Forum: Python mit anderen Sprachen verwenden
Thema: Fortran 77 dll importieren + function aufrufen
Antworten: 17
Zugriffe: 7940

Re: Fortran 77 dll importieren + function aufrufen

Hallo alle zusammen.

Bin der Sache näher gekommen. Ich kann nun die dll einlesen und die Funktion darin aufrufen.
Es rechnet zwar noch nicht richtig, aber denke das bekommt man auch noch hin.
Vom Syntax her sieht das nun wie folgt aus:

from ctypes import *

# give location of dll
Eth = windll ...
von liddokun88
Dienstag 6. März 2012, 09:18
Forum: Python mit anderen Sprachen verwenden
Thema: Fortran 77 dll importieren + function aufrufen
Antworten: 17
Zugriffe: 7940

Re: Fortran 77 dll importieren + function aufrufen

Viellen Dank erstmal für die Anwort.

Irgendwie stehe ich da auf dem Schlauch. Die dll an sich wird bei mir eingelesen, aber der Aufruf der Funktion klappt ja nicht. Aber in der Docu finde ich unter ctypes nicht unbedingt wie du das meinst mit dem deklarieren als andere Datentyp. Für die ...
von liddokun88
Montag 5. März 2012, 16:22
Forum: Python mit anderen Sprachen verwenden
Thema: Fortran 77 dll importieren + function aufrufen
Antworten: 17
Zugriffe: 7940

Fortran 77 dll importieren + function aufrufen

Hallo alle zusammen :D

Habe da ein Problem, was wie ich finde auf den meisten Seiten nicht wirklich gelöst wurde, daher dachte ich mir ich frage hier mal.
Ich habe ein .dll welche unter Fortran 77 compiliert wurde. Ich möchte diese in Python importieren, und eine Funktion in dieser .dll aufrufen ...