Dem Tool wird die Nummer eines COM-Ports übergeben sowie jeweils ein Paar aus einem Befehl und einem Dateipfad
Das sieht in etwa so aus:
Code: Alles auswählen
c:\med7net\WinCrd2XML.exe -P %port% -S c:\med7net\egk1.xml -p c:\med7net\egk2.xml -a c:\med7net\egk3.xml -g c:\med7net\egk4.xml -R c:\med7net\egk5.xml -M 1 -K c:\med7net\daten.xml -C 1 -V c:\med7net\eGK_MFEF_Version.xml
Dies versuche ich nun als Python-Programm nachzubilden
Leider funktioniert es nicht (ganz). Ich kann erkennen, das auf den Kartenleser zugegriffen wird, aber die Dateien sind dann leer und die Daten verschwinden nicht.
Was mache ich falsch?
Code: Alles auswählen
result=subprocess.run(['c:/med7net/WinCrd2XML.exe', '-P' , '3','-S','c:/med7net/egk1.xml', '-p', 'c:/med7net/egk2.xml',
'-a', 'c:/med7net/egk3.xml', '-g', 'c:/med7net/egk4.xml', '-R', 'c:/med7net/egk5.xml', '-M', '1',
'-K', 'c:/med7net/daten.xml', '-C', '1', '-V', 'c:/med7net/eGK_MFEF_Version.xml'] ,
stdout=subprocess.PIPE, stdin=subprocess.PIPE)
Es hat auch schonmal funktioinert, ich weiß aber nicht ob und was ich geändert habe.
Interessanterweise scheint es zu funktionieren, wenn ich das Programm aus der cmd-Umgebung direkt aufrufe.