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()