Verzeichnis/Dateiliste als tex-Datei ausgeben

Du hast eine Idee für ein Projekt?
TuXX
User
Beiträge: 18
Registriert: Sonntag 25. Juni 2017, 17:52

Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon TuXX » Sonntag 25. Juni 2017, 18:08

Hallo Community,

für die Technische Dokumentation von Projekten will ich in einem Ordner und einer Ordnerstruktur darunter befindliche pdf Dateien (andere Dateitypen sollen ausgelassen werden!) in einer pdf-Datei mit Lesezeichen zusammenfassen.

Die Strutkur sieht z.B. so aus:

  1. Stammordner
  2.     Verzeichnis 1 (Ebene 2)
  3.        11.pdf
  4.        12.pdf
  5.        13.pdf
  6.     Verzeichnis 2 (Ebene 2)
  7.        21.pdf
  8.        22.txt (nicht berücksichtigen, da kein pdf!)
  9. 01.pdf
  10. 02.pdf


Die Verzeichnisstruktur und Dateistruktur soll eingelesen werden und entsprechende Bookmarkeinträge und pdfincludes sollen in eine tex-Datei geschrieben werden. Sowohl die Einträge der Verzeichnisse auf Ebene 2, als auch die Einträge für die pdf-Dateien sollen alphabetisch sortiert integriert werden. Der Text-Code für die pdfincludes und die Bookmarkeinträge habe ich schon erstellt.

Da der Rest der Dokumentation auch in Tex erstellt wird, möchte ich diesen Teil auch in Tex erstellen. Allerdings möchte ich den oben beschriebenen Teil automatisieren.

Hat jemand von euch schon einmal etwas ähnliches realisiert. Jegliche Ideen werden gerne entgegen genommen, da ich gerade erst mit Python begonnen habe und noch nicht wirklich durchblicke.

Vielen Dank im Voraus für eure Hilfe!
Zuletzt geändert von Anonymous am Sonntag 25. Juni 2017, 18:47, insgesamt 1-mal geändert.
Grund: Quelltext in Codebox-Tags gesetzt.
BlackJack

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon BlackJack » Sonntag 25. Juni 2017, 19:37

@TuXX: `os.walk()` solltest Du Dir ansehen. Und dann bräuchtest Du irgendwas um LaTeX zu generieren. Also mindestens mal eine Funktion die Sonderzeichen für LaTeX „escaped“. Und vielleicht eine Template-Bibliothek wie Jinja2. Oder etwas was schon speziell auf LaTeX ausgerichtet ist wie `PyLaTeX`. Oder eine Kombination davon.
TuXX
User
Beiträge: 18
Registriert: Sonntag 25. Juni 2017, 17:52

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon TuXX » Sonntag 25. Juni 2017, 21:11

Mittlerweile habe ich wenigstens schon einmal den Code für das Auslesen der Ordner und Dateien einer Verzeichnisstruktur gefunden:

  1. import os
  2. for folderName, subfolders, filenames in os.walk('C:\\Techdok\\'):
  3.     print('The current folder is:' + folderName)
  4.  
  5.     for subfolder in subfolders:
  6.         print('Subfolder of' + folderName + ': ' + subfolder)
  7.     for filename in filenames:
  8.         print('File inside' + folderName + ': '+ filename)
  9.     print('')


Daraus ergeben sich wieder eine Reihe von Fragen:

- Wie kann ich z.B. das .pdf bei filename abschneiden oder das C:\ vor dem folderName?
- Wie kann ich die ausgelesenen Werte sortieren (subfolder/Filname)?
- Wie kann ich diese Informationen in eine txt-Datei schreiben?
- Wie kann ich nur pdf-Dateien berücksichtigen?
Zuletzt geändert von Anonymous am Sonntag 25. Juni 2017, 21:34, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon BlackJack » Sonntag 25. Juni 2017, 21:42

@TuXX: Für die Manipulation von Pfaden gibt es im `os.path`-Modul eine ganze Menge Funktionen.

Sortieren geht mit der `sort()`-Methode auf Listen oder der `sorted()`-Funktion wenn man keine Liste, sondern ein anderes iterierbares Objekt hat, oder eine sortierte (flache) Kopie einer Liste haben möchte.

Grundlegender Umgang mit Dateien sollte im Tutorial in der Python-Dokumentation erwähnt sein.
TuXX
User
Beiträge: 18
Registriert: Sonntag 25. Juni 2017, 17:52

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon TuXX » Montag 26. Juni 2017, 05:07

Mittlerweile habe ich versucht die Bildschirmausgabe des Verzeichnisses in eine Datei zu schreiben. Allerdings funktioniert das mit dem folgenden Code nicht so wirklich:
  1. import os
  2. datafile = open('dirstructure.txt','w')
  3. for folderName, subfolders, filenames in os.walk('C:\\Techdok\\'):
  4.     datafile.write('Verzeichnisname:'+ folderName)
  5.     datafile.close()


Kennt hier jemand Rat?

Danke im Voraus!
Zuletzt geändert von Anonymous am Montag 26. Juni 2017, 11:25, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Sirius3
User
Beiträge: 6385
Registriert: Sonntag 21. Oktober 2012, 17:20

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon Sirius3 » Montag 26. Juni 2017, 05:42

@TuXX: was heißt hier „nicht so wirklich“? Das Programm macht genau das, was Du sagst. Wenn Du etwas anderes willst, mußt Du es auch programmieren. Du kommst nicht drumrum, die Grundlagen von Python, und von Programmierung im allgemeinen, zu lernen. Die Bereitschaft, dass hier irgendjemand für Dich programmiert, in dem Du bei jeder Zeile nachfragst, dürfte sehr gering sein.
Melewo
User
Beiträge: 320
Registriert: Mittwoch 3. Mai 2017, 16:30

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon Melewo » Montag 26. Juni 2017, 19:20

TuXX hat geschrieben:Daraus ergeben sich wieder eine Reihe von Fragen:

- Wie kann ich z.B. das .pdf bei filename abschneiden oder das C:\ vor dem folderName?
- Wie kann ich die ausgelesenen Werte sortieren (subfolder/Filname)?
- Wie kann ich diese Informationen in eine txt-Datei schreiben?
- Wie kann ich nur pdf-Dateien berücksichtigen?


Die Frage ist aber auch, wie viele von Deinen Fragen Du mit einen Blick in einem Buch oder Tutorials selbst lösen könntest. Wie man *.txt Dateien zum Lesen öffnet oder etwas in diesen speichert, steht in jedem Buch für Einsteiger.
Zu den restlichen Fragen habe ich ein Test-Script mittlerweilen zu liegen, damit könntest Du weiter experimentieren.
So viel brauchst Du nicht ausgeben. Das C verschwindet bereits, wenn Du das Script aus dem zu durchsuchenden Verzeichnis startest und es da auch ablegst, weil dann ein "." genügt.

Ansetzen muss man alle 3 für (dirpath, dirnames, filenames) im Schleifenkopf, da ein 3er Tupel erwartet wird, doch zum Auswerten genügen os.path.join(dirpath, name), falls ich es richtig verstanden haben sollte und mein Test-Script läuft zumindest.

https://docs.python.org/3/library/os.html

Dann so, dass nur Dateien mit einer oder mehreren ausgewählten Endungen in die Liste aufgenommen werden. Die Funktion würde ich im Groben so belassen wie sie ist und nur den Rest anpassen, je nachdem wie das Ergebnis weiter verarbeitet werden soll.

  1. import os
  2.  
  3. def suche_files(durchlaufe, endung):
  4.     fileliste = []
  5.  
  6.     for verzeichnisse, unterordner, dateien in os.walk(durchlaufe):
  7.         for dateinamen in dateien:
  8.             extension = dateinamen.split(".")[1:]
  9.             if extension[0] == endung:  
  10.                 fuelleliste = os.path.join(verzeichnisse, dateinamen)
  11.                 fileliste.append(fuelleliste)
  12.  
  13.     return fileliste
  14.  
  15. endung = "pdf"
  16. ergebnis = suche_files(".", endung)
  17.  
  18. for dateien in ergebnis:
  19.     print(dateien)
BlackJack

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon BlackJack » Montag 26. Juni 2017, 19:48

@Melewo: Dateinamen an '.' zu splitten um an die Endung zu kommen funktioniert nicht wenn mehr als ein Punkt im Dateinamen/-pfad vorkommen. Es gibt `os.path.splitext()` für so etwas.

Ich würde mir für die gegebene Aufgabenstellung wahrscheinlich selber eine rekursive `walk()`-Funktion schreiben, denn das Ergebnis soll ja eine verschachtelte Auflistung werden. Da muss man wissen auf welcher Ebene man sich gerade befindet. Kann man zwar alles nachträglich aus den Pfaden wieder ermitteln, aber warum so umständlich.
Melewo
User
Beiträge: 320
Registriert: Mittwoch 3. Mai 2017, 16:30

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon Melewo » Montag 26. Juni 2017, 22:12

So, nun habe ich os.path.splitext verwendet.

  1. import os
  2.  
  3. def suche_files(durchlaufe, endung):
  4.     fileliste = []
  5.  
  6.     for verzeichnisse, unterordner, dateien in os.walk(durchlaufe):
  7.         for dateinamen in dateien:
  8.             extension = os.path.splitext(dateinamen)[1]
  9.             if extension == endung:  
  10.                 fuelleliste = os.path.join(verzeichnisse, dateinamen)
  11.                 fileliste.append(fuelleliste)
  12.  
  13.     return fileliste
  14.  
  15. endung = ".pdf"
  16. ergebnis = suche_files(".", endung)
  17.  
  18. for dateien in ergebnis:
  19.     print(dateien)

Wenn ich das Ergebnis mit dem Ergebnis meiner rekursiven PHP-Funktionen vergleiche, dann arbeitet die doch eigentlich bereits wie eine rekursive Funktion, da doch die Unterverzeichnisse mit durchlaufen werden.

Ein Beispiel aus der Liste:

.\Lebenszeit\Archiv-Zeit-Dokumente\PDFs\Age-effects-in-perception-of-time.pdf

Wichtig ist ja erst einmal eine Liste zu erhalten und in der zweiten Funktion überlege ich mir bei jedem Script, was machen mit der Liste. Mit einem zusätzlichen DB-Query eine XML-Sitemap erstellen oder die Dateien zum Durchsuchen öffnen.
BlackJack

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon BlackJack » Dienstag 27. Juni 2017, 00:22

@Melewo: Es werden alle Verzeichnisse durchlaufen aber beim Verwenden der Funktion bekommt man nicht mit auf welcher Ebene man sich befindet. Ich ging davon aus das man keine flache Liste braucht, sondern die Struktur der Verzeichnisse erhalten bleiben muss.

Aber so ganz klar ist mir die Aufgabenstellung dabei nicht. Falls eine rekursive Datenstruktur benötigt wird, fände ich es jedenfalls einfacher die gleich mit einer rekursiven Funktion zu erstellen, also später die flache Liste mit den Pfaden zu verarbeiten.
Melewo
User
Beiträge: 320
Registriert: Mittwoch 3. Mai 2017, 16:30

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon Melewo » Dienstag 27. Juni 2017, 05:51

@BlackJack: Die Listen sehen geordnet aus, die Verzeichnisse werden in alphabetischer Reihenfolge durchlaufen. So wie von TuXX im ersten Beispiel aufgeführt, würde ich es für meinen Bedarf nicht gruppieren, dadurch würde ja ein Unterverzeichnis mit 22 Dokumenten in 20 und 2 zerrissen. Gut, da muss jeder wissen, was erreicht werden soll. Stimmt schon, das sollte eigentlich kein unlösbares Problem sein, ähnliches bereits in der ersten Funktion mit zu erreichen.
BlackJack

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon BlackJack » Dienstag 27. Juni 2017, 10:16

@Melewo: Da sprichst Du noch einen anderen Punkt an: das sortieren. Das muss man noch selbst machen! Auch wenn das bei Dir vielleicht so aussieht als wäre das schon sortiert, gibt es dafür keine Garantie in welcher Reihenfolge die Namen vom System kommen.

Was Du mit „mit 22 Dokumenten in 20 und 2 zerrissen“ meinst verstehe ich nicht. Ich ging davon aus, dass das Dokument am Ende die Verzeichnisstruktur wiederspiegeln soll. Und dazu braucht man die Verzeichnisstruktur und keine flache Liste. Also als JSON-Dokument ausgedrückt beispielsweise so etwas:
  1. {
  2.   ".": {
  3.     "Stammordner": {
  4.       "Verzeichnis 1": {
  5.         "11.pdf": null,
  6.         "12.pdf": null,
  7.         "13.pdf": null
  8.       },
  9.       "Verzeichnis 2": {
  10.         "21.pdf": null
  11.       }
  12.     }
  13.   },
  14.   "01.pdf": null,
  15.   "02.pdf": null
  16. }

Wobei ich mir hier jetzt auch nicht ganz sicher bin ob die beiden 01.pdf und 02.pdf tatsächlich ausserhalb vom Stammordner liegen, wie das Beispiel aus dem ersten Beitrag suggeriert.

Und vielleicht gibt es ja auch nur diese 2 bis 3 Ebenen, da könnte man letztlich auch expliziten Code für schreiben. Insbesondere wenn für die drei (oder zwei) Ebenen jeweils eher spezielle Sachen gemacht werden müssen beim Umwandeln in ein LaTeX-Dokument oder -Fragment.

Letztlich müsste TuXX da etwas zu sagen wie die Struktur des Ergebnisses aussehen muss/soll.
Melewo
User
Beiträge: 320
Registriert: Mittwoch 3. Mai 2017, 16:30

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon Melewo » Dienstag 27. Juni 2017, 16:13

@BlackJack: Das mit der 20 und 2 war wohl wieder einmal mein gedanklicher Fehler, weil Verzeichnis 2 mit 21.pdf begann. Bei mir liegen zumindest die PDF-Dokumente in Ordnern, deren Namen die Themenzugehörigkeit erkennen lassen. Das mit 01.pdf und 02.pdf, ich nehme an, die liegen innerhalb von 'C:\Techdok\', wurden halt nur nicht in Unterordnern von Techdok einsortiert.

Kenne jetzt sicherlich viele Möglichkeiten noch nicht und anderes wird halt davon abhängig sein, was erreicht werden soll. Habe mir heute nur python-docx kurz angesehen und auf spätere Zeiten verschoben, um mich nicht zu sehr zu verzetteln. Was ich für meinen Teil noch testen möchte, geht vorläufig mehr in die Richtung os.path.getmtime(path) oder os.path.getatime(path), um Dokumente nach zeitlichen Vorgaben zu sortieren.
TuXX
User
Beiträge: 18
Registriert: Sonntag 25. Juni 2017, 17:52

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon TuXX » Mittwoch 28. Juni 2017, 19:28

Als Erstes ein grosses Dankeschön an alle die sich an der konstruktiven Lösung des Problems beteiligen.

Hier noch einmal eine bessere Erklärung der Ordnerstruktur:

  1. Stammordner (Techdok) (Ebene 0)
  2.    Verzeichnis 1 (Ebene 1)
  3.       Datei11.pdf (Ebene 2)
  4.       Datei12.pdf (Ebene 2)
  5.    Verzeichnis 2 (Ebene 1)
  6.       Datei21.pdf (Ebene 2)
  7.       Datei22.pdf (Ebene 2)
  8.    Datei01.pdf (Ebene 1)
  9.    Datei02.pdf (Ebene 2)


Aus dieser Struktur ergibt sich auch die spätere Lesezeichen-Struktur des Dokuments.
Melewo
User
Beiträge: 320
Registriert: Mittwoch 3. Mai 2017, 16:30

Re: Verzeichnis/Dateiliste als tex-Datei ausgeben

Beitragvon Melewo » Donnerstag 29. Juni 2017, 12:25

Die Frage wäre dabei letztendlich, wie weit Du bereits gekommen bist. Ich meine, es entspricht ja in etwa dem, wofür BlackJack bereits Tipps gab und letztendlich bis Du der Programmierer, der etwas entwickeln möchte.

Bei mir fängt es ähnlich an mit dem Durchlaufen von Verzeichnissen, biegt dann aber in eine andere Richtung, weil ich mich oftmals in etwa an einen zeitlichen Rahmen erinnern kann, nur nicht mehr unbedingt daran, wo ich eine Datei vor Monaten oder länger ablegt. Oder bin mir sicher, dass ich bereits einmal ein Testscript mit dieser oder jener Funktion geschrieben habe und muss dann erst Stunden suchen. Für PHP hatte ich mir dafür so eine "Suche im Quelltext" geschrieben, die läuft aber nur innerhalb von htdocs, mit Python ist diese Beschränkung nicht gegeben.

Den Anfang habe ich nun erst einmal fertig, wie man eine vorzugebende Endung auswählt und anderes wird ja daraus ersichtlich, auch wenn der Rest dann nicht mehr Deinem geplanten Projekt entspricht und BlackJack oder Sirius3 noch genug finden würden, was sie besser gemacht hätten.

Bild

  1. from tkinter import Tk, Frame, Label, Button, Text, Scrollbar, Radiobutton, Entry, StringVar, END
  2. import os
  3. import time
  4.  
  5. def wandle_datum(data):
  6.     return int(time.mktime(time.strptime(data, "%d.%m.%Y")))
  7.  
  8. def suche_files(durchlaufe, auswahl, endung, vondate, bisdate):
  9.     os.stat_float_times(False)
  10.     file_dict = {}
  11.     rueckgabe = []
  12.  
  13.     for verzeichnisse, unterordner, dateien in os.walk(durchlaufe):
  14.         for dateinamen in dateien:
  15.             extension = os.path.splitext(dateinamen)[1]
  16.             if extension == endung:
  17.                 if auswahl == "alphabetisch":
  18.                     zeitpunkt = os.path.getctime(os.path.join(verzeichnisse, dateinamen))
  19.                     fuelledict = {os.path.join(verzeichnisse, dateinamen) : zeitpunkt}
  20.                     file_dict.update(fuelledict)
  21.  
  22.                 if auswahl == "angelegt":
  23.                     zeitpunkt = os.path.getctime(os.path.join(verzeichnisse, dateinamen))
  24.                 if auswahl == "aenderung":
  25.                     zeitpunkt = os.path.getmtime(os.path.join(verzeichnisse, dateinamen))
  26.                 if auswahl == "aufgerufen":
  27.                     zeitpunkt = os.path.getatime(os.path.join(verzeichnisse, dateinamen))
  28.  
  29.                 if auswahl == "angelegt" or auswahl == "aenderung" or auswahl == "aufgerufen":
  30.                     if vondate is None or bisdate is None:
  31.                         fuelledict = {zeitpunkt : os.path.join(verzeichnisse, dateinamen)}
  32.                         file_dict.update(fuelledict)
  33.                     if vondate is not None and bisdate is not None:
  34.                         if zeitpunkt >= wandle_datum(vondate) and zeitpunkt <= wandle_datum(bisdate):
  35.                             fuelledict = {zeitpunkt : os.path.join(verzeichnisse, dateinamen)}
  36.                             file_dict.update(fuelledict)
  37.  
  38.     sortiert = sorted(file_dict.items())
  39.  
  40.     if auswahl == "alphabetisch":
  41.         for files, filetimes in sortiert:
  42.             zeitformat = time.strftime("%d.%m.%Y", time.localtime(filetimes))
  43.             rueckgabe.append("{0:s} - {1:s}".format(files, zeitformat))
  44.  
  45.     if auswahl == "angelegt" or auswahl == "aenderung" or auswahl == "aufgerufen":
  46.         for filetimes, files in sortiert:
  47.             zeitformat = time.strftime("%d.%m.%Y", time.localtime(filetimes))
  48.             rueckgabe.append("{0:s} - {1:s}".format(files, zeitformat))
  49.  
  50.     return rueckgabe
  51.  
  52. class Dateisuche:
  53.  
  54.     def __init__(self):
  55.         self.fenster = Tk()
  56.         self.set_auswahl = StringVar(value="1")
  57.         self.set_endung  = StringVar(value="1")
  58.         self.textfeld = None
  59.         self.auswahl = "alphabetisch"
  60.         self.endung  = "py"
  61.         self.vondate = None
  62.         self.bisdate = None
  63.         self.durchlaufe = "."
  64.  
  65.     def main(self):
  66.          gefunden = suche_files(self.durchlaufe, self.auswahl,
  67.                     self.endung, self.vondate, self.bisdate)
  68.  
  69.          self.textfeld.delete(1.0, END)
  70.  
  71.          for dateien in gefunden:
  72.              self.textfeld.insert(1.0, "{}\n".format(dateien))
  73.  
  74.     def layout(self):
  75.         self.fenster.title("Dateisuche")
  76.         self.fenster.geometry("920x620")
  77.         self.fenster["bg"] = "#808080"
  78.  
  79.         frame_li = Frame(self.fenster, bg = "#808080", padx = 2)
  80.         frame_re = Frame(self.fenster, bg = "#6f6352", padx = 2)
  81.  
  82.         # Linker Frame
  83.         self.textfeld = Text(frame_li, width = 92, height = 38)
  84.         scrollbr = Scrollbar(frame_li)
  85.         scrollbr.config(command = self.textfeld.yview)
  86.         self.textfeld.config(yscrollcommand = scrollbr.set)
  87.  
  88.         frame_li.pack(side = "left")
  89.         scrollbr.pack(side = "right", fill = "y")
  90.         self.textfeld.pack(pady = 0, padx = 2)
  91.  
  92.         # Rechter Frame
  93.         frame_re.pack(side = "right", fill = "y")
  94.         Label(frame_re, text = "Auswahl Sortierung", bg = "#6f6352",
  95.               font = ("cambria", 11), fg = "#ffe9b3",
  96.               justify = "left").pack(padx =10, pady = 12, anchor = "w")
  97.         drei_buttons = {
  98.             "Alphabetisch" : "alphabetisch",
  99.             "Datei angelegt"  : "angelegt",
  100.             "Letzte Änderung" : "aenderung",
  101.             "Letzter Zugriff" : "aufgerufen"
  102.         }
  103.         for key, wert in drei_buttons.items():
  104.             radioba = Radiobutton(
  105.                 frame_re, text = key, bg = "#6f6352", fg = "#ffce58",
  106.                 selectcolor = "#606060", activebackground = "#6f6352",
  107.                 variable = self.set_auswahl, value = wert)
  108.             radioba.pack(padx = 8, anchor = "w")
  109.  
  110.         Label(
  111.             frame_re, text = "Auswahl Endung", bg = "#6f6352",
  112.             font = ("cambria", 11), fg = "#ffe9b3",
  113.             justify = "left").pack(padx = 10, pady = 12, anchor = "w")
  114.         sechs_buttons = {
  115.             "doc" : ".doc",
  116.             "docx": ".docx",
  117.             "pdf" : ".pdf",
  118.             "htm" : ".htm",
  119.             "html": ".html",
  120.             "py"  : ".py"
  121.         }
  122.         for key2, wert2 in sechs_buttons.items():
  123.             radiobb = Radiobutton(
  124.                 frame_re, text = key2, bg = "#6f6352", fg = "#ffce58",
  125.                 selectcolor = "#606060", activebackground =  "#6f6352",
  126.                 variable = self.set_endung, value = wert2)
  127.             radiobb.pack(padx = 8, anchor = "w")
  128.  
  129.         Label(
  130.             frame_re, text = "Auswahl Zeitraum", bg = "#6f6352",
  131.             font = ("cambria", 11), fg = "#ffe9b3",
  132.             justify = "left").pack(padx = 10, pady = 12, anchor = "w")
  133.         Label(
  134.             frame_re, text = "Beispiel: 28.06.2017\n\nVon:",
  135.             bg = "#6f6352", font = ("cambria", 10), fg = "#ffce58",
  136.             justify = "left").pack(padx = 10, anchor = "w")
  137.         von = Entry(frame_re)
  138.         von.pack(padx = 10, anchor = "w")
  139.         Label(
  140.             frame_re, text = "Bis:", bg = "#6f6352",
  141.             font = ("cambria", 10), fg = "#ffce58",
  142.             justify = "left").pack(padx = 10, anchor = "w")
  143.         bis = Entry(frame_re)
  144.         bis.pack(padx = 10, anchor = "w")
  145.         starter = Button(
  146.             frame_re, text = "Suche", font = ("cambria", 10, "bold"),
  147.             padx = 18, command = self.main)
  148.         starter.pack(side = "top", pady = 18)
  149.  
  150.         def uebernehme_auswahl(event):
  151.             self.auswahl = self.set_auswahl.get()
  152.             self.endung  = self.set_endung.get()
  153.             self.vondate = von.get()
  154.             self.bisdate = bis.get()
  155.  
  156.         radioba.bind("<Button-1>", uebernehme_auswahl)
  157.         radiobb.bind("<Button-1>", uebernehme_auswahl)
  158.         von.bind("<Leave>", uebernehme_auswahl)
  159.         bis.bind("<Leave>", uebernehme_auswahl)
  160.  
  161.         self.fenster.mainloop()
  162.  
  163. instanz = Dateisuche()
  164. instanz.layout()

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder