Optparse und tab completition funktioniert nicht

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.
bennym
User
Beiträge: 36
Registriert: Freitag 13. Oktober 2006, 21:17
Kontaktdaten:

Optparse und tab completition funktioniert nicht

Beitragvon bennym » Montag 30. April 2007, 19:11

Hallo!

Ich habe folgendes Problem:
Ich im folgenden Script einen Pfad zur Datei als Parameter angeben, soweit so gut.

Will ich aber per tab completion die Datei auswählen, kann ich nur den Pfad zum Ordner auswählen wo die Datei drinnliegt, nicht aber die Datei.

z.B:
Dateipfad: /home/benny/Desktop/test.txt
Wenn ich dann script mit -f den Pfad übergeben will, kann ich mit <tab> nur bis zum letzten übergeordneten Ordner kommen. te<tab> sollte jetzt ja auf test.txt kompletieren, tut es aber nicht :(

Komisch ist aber, dass wenn ich die Datei mit einer .py Endung versehe automatisch kompletiert wird. Unterscheidet hier optparse anhand der Dateiendung oder liegt das an was anderem?

Wie krieg ich das so hin, sodass auf alle Dateitypen/Endungen kompletiert wird?

Vielen Dank im Vorraus

mfg benny

Code: Alles auswählen

#!/usr/bin/python
# -*-coding=utf-8 -*-

from optparse import OptionParser
import os


def main():
    parser = OptionParser()
     
    parser.add_option("-f", "--file", dest="filename",help="read data from FILENAME")
   
    (options, args) = parser.parse_args()

    z = options.filename
   
    print z



if __name__ == '__main__':
    main()
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Montag 30. April 2007, 19:15

TUFKAB – the user formerly known as blackbird
lunar

Beitragvon lunar » Montag 30. April 2007, 20:13

blackbird hat geschrieben:http://cheeseshop.python.org/pypi/optcomplete/1.2


Mmmh, das vervollständigt doch nur die Optionen selbst, nicht aber die Argumente. Woher sollte optcomplete den wissen, dass '--file' eine Datei erwartet?

Ich würde eher darauf tippen, dass die bash das vorangestellte "python" (in "python skript.py --file") als Basis nimmt und deswegen nur *.py zulässt.
Zuletzt geändert von lunar am Mittwoch 2. Mai 2007, 12:42, insgesamt 1-mal geändert.
bennym
User
Beiträge: 36
Registriert: Freitag 13. Oktober 2006, 21:17
Kontaktdaten:

Beitragvon bennym » Dienstag 1. Mai 2007, 17:22

lunar hat geschrieben:
Mmmh, das vervollständigt doch nur die Optionen selbst, nicht aber die Argumente. Woher sollte optcomplete den wissen, dass '--file' eine Datei erwartet?

Ich würde eher darauf tippen, dass die bash das vorangestellte "python" (in "python skript.py --file" als Basis nimmt und deswegen nur *.py zulässt.


Jo, so is es. Die bash ist schuld :roll:
Egal, wenn ich das ohne Endung speichere, bietet tab completition alle Dateien an.

Die bash is einfach böse :D . Wenn ichs die Datei mit der Endung .sh abspeichere funktioniert tab completition. Sowas eigensinniges^^


mfg benny
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Beitragvon birkenfeld » Mittwoch 2. Mai 2007, 10:10

Können wir uns auf "completion" einigen? ;)
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
bennym
User
Beiträge: 36
Registriert: Freitag 13. Oktober 2006, 21:17
Kontaktdaten:

Beitragvon bennym » Mittwoch 2. Mai 2007, 19:58

Können wir uns auf "completion" einigen? :wink:

Aua, das tut weh. Ich werds mir merken :D

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]