Seite 1 von 1

Probleme mit Systemaufruf

Verfasst: Mittwoch 26. September 2007, 09:09
von duejan
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

Verfasst: Mittwoch 26. September 2007, 10:03
von BlackJack
Das kann nicht sein. Wie hast Du denn herausgefunden wie der Befehl beim Aufruf angeblich aussieht?

Verfasst: Mittwoch 26. September 2007, 11:18
von duejan
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

Verfasst: Mittwoch 26. September 2007, 11:23
von 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).

Verfasst: Mittwoch 26. September 2007, 11:28
von duejan
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

Verfasst: Mittwoch 26. September 2007, 12:00
von BlackJack
Ist der Aufruf *exakt* so wie er da steht oder ist das nur ein Beispiel?

Verfasst: Mittwoch 26. September 2007, 12:05
von duejan
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

Verfasst: Mittwoch 26. September 2007, 12:49
von BlackJack
Das sieht nach einem UTF-8 Kodierten Bindestrich aus ─ sag mal schreibst Du Deine Quelltexte in einer Textverarbeitung!? :-)

Verfasst: Mittwoch 26. September 2007, 12:57
von 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 ;)

Verfasst: Mittwoch 26. September 2007, 16:50
von duejan
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.

Verfasst: Mittwoch 26. September 2007, 17:04
von 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.

Verfasst: Mittwoch 26. September 2007, 17:16
von Zap
@ 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.

Verfasst: Mittwoch 26. September 2007, 18:26
von duejan
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.

Verfasst: Mittwoch 26. September 2007, 19:09
von 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.

Verfasst: Mittwoch 26. September 2007, 19:14
von birkenfeld
@duejan: und du glaubst, "wer lesen kann ist klar im Vorteil" fällt nicht unter die Kategorie "dummer Spruch"?