Forum: PC-Programmierung Python, Linux, command line, argv, wildcard *


von Gast (Gast)


Lesenswert?

Ich möchte eine Anzahl von Dateinamen per Wildcard an ein Skript 
übergeben.

script.py *

file1, file2, file3, ..

glob.glob('*') ergibt eine Liste mit allen Dateinamen

argv[1] enthält jedoch nicht '*' sondern die erste Datei - die Shell 
macht mir einen Strich durch die Rechnung.

von Sven P. (Gast)


Lesenswert?

Jubb, das macht sie. Die macht nämlich genau das, was in der Anleitung 
beschrieben ist.

Und weiter?

von Gast (Gast)


Lesenswert?

Hat sich geklärt - ich hatte nicht verstanden, dass anstelle von * die 
Dateinamen mit Leerzeichen getrennt übergeben werden, und dann von 
Python als einzelne Argumente in argv stehen.
Kann nicht mehr nachvollziehen, was ich erwartet hatte.

von Sven P. (Gast)


Lesenswert?

Setz das * mal in Anführungszeichen, wenn du es übergibst, oder stell 
einen Rückstrich davor.

von Εrnst B. (ernst)


Lesenswert?

Sven P. schrieb:
> Setz das * mal in Anführungszeichen, wenn du es übergibst, oder stell
> einen Rückstrich davor.

Geht zwar, ist aber eine denkbar schlechte Lösung.
Erstens würde sich das Programm dann genau anders als die anderen 10^99 
Unix-Tools verhalten, und zweitens verlierst (*) du dadurch die 
Möglichkeit Dateien zu bearbeiten, die ein '*' oder '?' im Dateinamen 
tragen.
Also: Unter Windows macht das Auflösen der Dateinamen das aufgerufene 
Programm, hier ist dein glob.glob - Aufruf korrekt, unter Unix macht das 
immer (**) die Shell.


*) erschwerst es zumindest.

**) Ja, es gibt Ausnahmen, wie bei jeder Regel. Bekannteste ist 
vermutlich "find"

von Sven P. (Gast)


Lesenswert?

Ernst Bachmann schrieb:
> Sven P. schrieb:
>> Setz das * mal in Anführungszeichen, wenn du es übergibst, oder stell
>> einen Rückstrich davor.
>
> Geht zwar, ist aber eine denkbar schlechte Lösung.
> [...]

Das unterschreibe ich.

von Stephan B. (Firma: privat) (butronik)


Lesenswert?

hallole zusammen, hat jemand schon mal mit einem rad-tool (lazarus, 
kdevelop, gambas, usw.) unter linux gearbeitet ? ich suche jemanden der 
erfahrung im erstellen von gui-applikationen mit io per serieller 
schnittstelle hat. jedenfalls will ich nicht wie die alten griechen auf 
kommendozeile rumwursteln. mein projekt: selectrix für linux - aber 
bitte mit gui! (modellbahner wissen was gemein ist) grüße butronik

von Sven P. (Gast)


Lesenswert?

Mach doch bitte einen eigenen Thread auf und klau nicht einfach einen 
anderen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.