Hallo.
Ich habe das im Anhang befindlche Python 3 Programm pywwl_09Aug2012.py
geschrieben.
Es bildet eine GUI für ein Komandozeilenprogramm in Linux, wwl, welches
Entfernungen zwischen Planquadraten des Maidenhead-Locator Systems
berechnet. Der Zweck des Programmes tut aber nichts zur Sache.
Problem:
Mit folgender Importdeklaration tritt erst einmal kein "Problem" auf:
1 | 09: import tkinter
|
2 | 10: from tkinter.filedialog import *
|
3 | 11: import sys
|
4 | 12: import subprocess
|
5 | 13: from re import findall
|
Ändere ich aber Zeile 13 zu "from re import *",
erhalte ich die untenstehende Fehlermeldung von Idle 3.1.
Fehlermeldung:
Traceback (most recent call last):
File "/home/wiebus/python/pywwl.py", line 105, in <module>
Rahmen1.pack(side = TOP, fill = X)
File "/usr/lib/python3.1/tkinter/__init__.py", line 1753, in
pack_configure
+ self._options(cnf, kw))
_tkinter.TclError: bad fill style "64": must be none, x, y, or both
Die angemeckerte Zeile 105 steht in folgendem Bezug im Hauptfenster:
1 | 103: # Rahmen für beide Eingabe Entrys
|
2 | 104: Rahmen1 = Frame(Mainwindow, background = "#002040")
|
3 | 105: Rahmen1.pack(side = TOP, fill = X)
|
Es folgen weitere gleich aufgebaute Rahmendefinitionen, aber es wird
natürlich nur die erste angemeckert.
Meine Frage: Eigentlich sollte der Stern in Zeile 13 ein Platzhalter für
sämtliche dort befindliche Bibliotheken sein. Es funktioniert aber nur,
wenn ich aus dem Packet re speziell "findall" einbinde was eigentlich
bedeutet, das sich idle mit dem Stern die falsche Bibliothek greift.
Allerdings kommt die Beschwerde aus tkinter, und nicht aus re (was mich
absolut stutzig macht), wenn ich das richtig verstanden habe.
Letztlich wird in Zeile 105 kein regulärer Ausdruck untersucht, sondern
ein frame definiert, in dem auch später nie nach regulären Ausdrücken
gesucht wird. Oder sucht tkinter für sich selber dort nach regulären
Ausdrücken?
Warum ist das so? Ist das ein Indiz, das irgendwo ein Name in den
Bibliotheken doppelt vergeben wurde?
OS hier ist Debian squeeze mit Gnome.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.dl0dg.de