Frage zum Argparser

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
marvel82
User
Beiträge: 11
Registriert: Montag 30. April 2012, 10:33

Hallo liebe Community,

ich hoffe ihr könnt mir bei meinem kleinen Problem weiterhelfen. Ich möchte gerne das über die Kommandozeile mehrere Dateien aus einem Ordner und dessen Unterordner automatisch eingelesen werden und mir danach als Liste zur Verfügung stehen.

Ich stelle mir das folgendermassen vor:

script.py c:\ordner\*.txt

Somit würden alle Dateien mit der Endung "txt" in dem angegebenen Ordner gesucht und als Listenargument gespeichert werden. Kann der argparser so etwas von Haus aus oder muss ich das selber implementieren ?
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Unter Unix kümmert sich die Shell um das Auflösungen von "*" (und anderen Wildcard-Zeichen). Unter Windows musst du's AFAIK selbst machen. Schau dir mal das "glob"-Modul an. Das sollte ungefähr so funktionieren:

Code: Alles auswählen

import sys, glob

for arg in sys.argv:
    for name in glob.glob(arg):
        mach_was_mit(name)
Stefan
marvel82
User
Beiträge: 11
Registriert: Montag 30. April 2012, 10:33

Hallo,

danke erstmal für die schnelle Beantwortung meiner Frage. Ich arbeite mit einem Windows 7 Betriebssystem. Könntest du eventuell ein kleines Codebeispiel angeben. Muss ich es also selber implementieren ?
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

marvel82 hat geschrieben:Könntest du eventuell ein kleines Codebeispiel angeben.
Da ist doch eins.

Haben wir möglicherweise deine Ausgangsfrage falsch verstanden?
JonasR
User
Beiträge: 251
Registriert: Mittwoch 12. Mai 2010, 13:59

Das argparse Modul kann so etwas von sich aus nicht, es dient nur zum behandeln der Parameter.
Du kannst aber mit dem argparse den übergebenen Pfad an eine Funktion weitergeben die das Ganze abhandelt.
Wie die aussehen könnte wurde ja bereits geschrieben.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Hast du die Dokumentation zu argparse und glob gelesen?

Es sollte die Fragen klären, wofür die einzelnen Funktionen gedacht sind und überhaupt können.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Antworten