ich habe mit Hilfe von Boa Constructor ein kleines Programm geschrieben, das Zahlen aus zwei Spalten einer txt Datei einliesst und diese graphisch darstellt (im Beispiel-Code sehr vereinfacht). Wenn ich nun das Programm starte und eine Datei einlese wird der Plot ohne Probleme dargestellt. Öffne ich nun eine zweite Datei wird zwar auch die Grafik dargestellt, aber es dauert länger und endet mit einem Runtime Error. Ich arbeite unter WindowsXP und habe von allen notwendigen Modulen die neueste Version installiert. Ich denke der Fehler liegt im Befehl pylab.show().
Code: Alles auswählen
import wx, pylab
from pylab import *
def create(parent):
return Frame1(parent)
[wxID_FRAME1, wxID_FRAME1BUTTON1,
] = [wx.NewId() for _init_ctrls in range(2)]
class Frame1(wx.Frame):
def _init_ctrls(self, prnt):
# generated method, don't edit
wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=prnt,
pos=wx.Point(378, 277), size=wx.Size(400, 250),
style=wx.DEFAULT_FRAME_STYLE, title='Frame1')
self.SetClientSize(wx.Size(392, 223))
self.button1 = wx.Button(id=wxID_FRAME1BUTTON1, label='button1',
name='button1', parent=self, pos=wx.Point(96, 8),
size=wx.Size(200, 80), style=0)
self.button1.Bind(wx.EVT_BUTTON, self.OnButton1Button,
id=wxID_FRAME1BUTTON1)
def __init__(self, parent):
self._init_ctrls(parent)
def OnButton1Button(self, event):
data = 0
rec = []
filename = ""
data = ""
X = []
Y = []
dlg = wx.FileDialog(self, "Enter file name with Declination and Inclination: ", ".", "", "*.*", wx.OPEN)
try:
if dlg.ShowModal() == wx.ID_OK:
filename = dlg.GetPath()
input = open(filename,'r')
data = input.readlines()
for line in data:
rec=line.split("\t")
if rec[0]=="": #ueberspringt leere Zeilen
continue
X.append(float(rec[0]))
Y.append(float(rec[1]))
pylab.plot(X, Y)
pylab.show()
finally:
dlg.Destroy()
input.close()