Fileopen Problem
Verfasst: Dienstag 5. Juni 2007, 15:24
Hallo,
Die fileopen1 und fileopen2 sind hier sehr ähnlich, wie kann ich die beide in einer Funktion schreiben, dann kann ich ca. 20 Zeilen sparen.
Danke!!!!!!!!!
Die fileopen1 und fileopen2 sind hier sehr ähnlich, wie kann ich die beide in einer Funktion schreiben, dann kann ich ca. 20 Zeilen sparen.
Danke!!!!!!!!!
Code: Alles auswählen
from Tkinter import *
import os
import string
from tkFileDialog import *
import sys
class fileopenprobe:
##Erste Funktion
def fileopen1(self):
"""open a file to read"""
pwd = os.getcwd()
dir = "../models2/DATENBANK/mbs_db_substructure"
mask = [("Substruktures","*.sys")]
filename=askopenfilename(initialdir=dir, filetypes=mask)
name = string.split(filename, '/')
laenge = len(name)
name = string.split(name[laenge-1], '.')[0]
if filename != None:
self.text1.delete(0.0, END)
self.text1.insert(END, name)
##die Zweite Funktion unterscheidet sich mit der ersten nur bei text1
def fileopen2(self):
"""open a file to read"""
pwd = os.getcwd()
dir = "../models2/DATENBANK/mbs_db_substructure"
mask = [("Substruktures","*.sys")]
filename=askopenfilename(initialdir=dir, filetypes=mask)
name = string.split(filename, '/')
laenge = len(name)
name = string.split(name[laenge-1], '.')[0]
if filename != None:
self.text2.delete(0.0, END)
self.text2.insert(END, name)
def __init__(self):
self.hf=Tk()
self.hf.title("fileopen versuch")
self.hf.geometry("1100x400")
self.text1=Text(self.hf)
self.text1.place(relx=0.42,rely=0.1,width=200,height=25,anchor="w")
self.text2=Text(self.hf)
self.text2.place(relx=0.42,rely=0.2,width=200,height=25,anchor="w")
self.L1=Label(self.hf, text="Datei 1: ",font="Arial 10 bold", height="1")
self.L1.place(relx=0.01, rely=0.1, anchor="w")
self.b1=Button(self.hf, text="OPEN 1", command=self.fileopen1)
self.b1.place(relx=0.33,rely=0.1,anchor="w")
self.L2=Label(self.hf, text="Datei 2",font="Arial 10 bold", height="1")
self.L2.place(relx=0.01, rely=0.2, anchor="w")
self.b2=Button(self.hf, text="OPEN 2", command=self.fileopen2)
self.b2.place(relx=0.33,rely=0.2,anchor="w")
self.hf.mainloop()
fileopenprobe()