Probleme mit Systemaufruf

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
duejan
User
Beiträge: 6
Registriert: Mittwoch 26. September 2007, 09:01

Hallo,

da ich nach Nutzen der Suchfunktion keinen passenden Thread gefunden habe, beschreibe ich nun mal mein Prob (sorry, wenns schon ein Thread dazu gibt und ich ihn nicht entdeckt hab).
Also, ich habe folgendes Problem: ich habe mir ein kleine Skript unter Suse10.2 geschrieben, welches folgenden Systemaufruf beinhaltet:

os.system('arc2head -inf beispiel.txt -outf ausgabe.txt -rx 1.0 -ry 1.0')

Wenn ich nun dass Skript starte, wird irgendwie beim Übersetzen aus dem Befehl:

arc2head -eispiel.txt ....

Leider habe ich keine Ahnung, warum aus -inf beispiel.txt Obiges wird. Hat vielleicht jmd eine Idee?

MfG
Jan
BlackJack

Das kann nicht sein. Wie hast Du denn herausgefunden wie der Befehl beim Aufruf angeblich aussieht?
duejan
User
Beiträge: 6
Registriert: Mittwoch 26. September 2007, 09:01

Hi,

weil mir des Prog was ich aufrufe ne Fehlermeldung zurück gibt, in der steht, dass -eisbiel.txt kein gültiger Parameter ist. Deshalb geh ich mal davon aus, dass beim Übersetzen irgendwie des -inf ... rausfällt. Kann also doch sein. Ich finds auch ziemlich komisch, da ich bis jetzt eigentlich nie Probleme mit Systemaufrufen hatte.

MfG
Jan
lunar

Bei system() wird nichts übersetzt... ich denke, du bist eher Opfer der Parsing-Logik dieses Programms geworden. Versuch mal, "--inf" und "--outf" zu verwenden (also zwei Strich statt einem).
duejan
User
Beiträge: 6
Registriert: Mittwoch 26. September 2007, 09:01

Denke ich nicht, da ich genau weiß wie ich das Prog aufrufen muss (habs ja schon von Hand in der Shell ausgeführt und da muss ich ja auch nur einen Bindestrich machen). Werds aber trotzdem mal probiern.

MfG
BlackJack

Ist der Aufruf *exakt* so wie er da steht oder ist das nur ein Beispiel?
duejan
User
Beiträge: 6
Registriert: Mittwoch 26. September 2007, 09:01

Hallo,

wie schon geschrieben, hatte ich bis jetzt ja noch nie Probleme mit Systemaufrufen. Deshalb hab ich dann gedacht, dass es evtl ein encoding-Problem ist. Deshalb hab ich mir grad mal des Skript in nem andere Editor angeschaut; irgendwie hats aus dem Bindestrich ein "â" gemacht gehabt. War also ein Encoding-Problem.

MfG
Jan

P.S.: man sollt halt doch gescheite Editoren verwenden, auch wenn man nur mal schnell ein Skript von paar Zeilen schreibt:) Naja, man kann immer wieder was lernen
BlackJack

Das sieht nach einem UTF-8 Kodierten Bindestrich aus ─ sag mal schreibst Du Deine Quelltexte in einer Textverarbeitung!? :-)
lunar

BlackJack hat geschrieben:Das sieht nach einem UTF-8 Kodierten Bindestrich aus ─ sag mal schreibst Du Deine Quelltexte in einer Textverarbeitung!? :-)
Klar, mit OpenOffice, dass hat so ein cooles Syntax-Highlighting: Man kann jedes Token absolut individuell formatieren ;)
duejan
User
Beiträge: 6
Registriert: Mittwoch 26. September 2007, 09:01

Ne mach ich net. Für wie blöd haltet ihr eigentlich manche Leute. Vielleicht kam es daher, dass ich den Systemaufruf aus einer Doku kopiert und in den Quellcode eingefügt hab.

P.S.: Ich weiß, warum ich normal nicht in Foren nach Sachen frag...im Endeffekt wird wieder nur dumm geschwätz, aber wirklich helfen tuts einem selten....Denkt mal drüber nach, warum ihr eigentlich in Foren was postet.
BlackJack

Na dann stimmte meine Anspielung doch sogar halbwegs ─ der Text des Aufrufs ging durch eine Textverarbeitung oder ein Textsatzsystem in die Doku. Das ist einfach die naheliegenste Erklärung wie ein Bindestrich in einen Quelltext kommen kann, weil Minuszeichen von den meisten Textverarbeitungen innerhalb von Text automatisch durch einen Bindestrich ersetzt werden.

Wir antworten hier in der Regel um zu helfen. Dabei muss der Hilfesuchende aber auch ein wenig mithelfen. Wenn Du zum Beispiel den exakten Quelltext per Copy'n'Paste ins Forum gestellt hättest, wäre hier auch ein Bindestrich angekommen und man hätte das Problem finden können. So wie die Frage gestellt war, ist das beschriebene Phänomen einfach unmöglich gewesen.
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

@ duejan, nimm sowas nicht persönlich.
So kleine Scherze am Rande müssen auch sein.
Wenn man mal die Cance hat nen kleinen Joke zu reißen dann soll man demjenigen das auch gönnen ;)
Grundlegend wird hier wirklich versucht zu helfen.

Es hat bestimmt jeder die Erfahrung gemacht was für grausige Sonderzeichen an einem CodeSnippet kleben können wenn man ihn aus nem PDF öder ähnliches in einen Editor kopiert.
duejan
User
Beiträge: 6
Registriert: Mittwoch 26. September 2007, 09:01

Hi,

@BlackJack: wer lesen kann ist klar im Vorteil. Ich hab die Codezeile genau so gepostet wie sie in meinem Quellcode ist. Ich geb aber zu, dass ich vielleicht erwähnen hätte sollen, dass ich den Programmbefehl kopiert hatte. Sonst kann man natürlich nicht auf des Encoding-Problem kommen.

@Zap: schon klar. Aber passiert halt leider oft, dass man ab und an nur dumme Sprüche bekommt, anstatt dass einem wirklich geholfen wird.
BlackJack

Das kann nicht sein weil die Zeile im ersten Beitrag ausschliesslich aus ASCII-Zeichen besteht, also keinen Bindestrich enthält. Ich kann lesen und ich kann den Text auch woanders hin kopieren und die Zeichen untersuchen. Wenn das wirklich der Code gewesen wäre, den Du ausgeführt hast, hätte es das Problem nicht gegeben.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

@duejan: und du glaubst, "wer lesen kann ist klar im Vorteil" fällt nicht unter die Kategorie "dummer Spruch"?
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Antworten