Verzeichnisstruktur über GUI kopieren
Verfasst: Mittwoch 22. September 2010, 15:04
Guten Tag miteinander.
Ich bin ganz neu in diesem Forum und bin mir nicht sicher wo ich mein Problem schildern muss. Desshalb schreibe ich mal in die Algemeine Fragen.
Also zum Anfang: Ich bin ein Anfänger was die Python programmiereung anbelangt. Ich habe mir ein Dickes Buch (Das Python Praxis Buch) gekauft und auf diversen Internetseitenseiten Beispiele gefunden aber ich komme nicht weiter.
zu meinem Problem: Ich muss geschäftlich ein Python Skript erstellen dass in einem ersten Schritt eine Verzeichnisstruktur (Bsp: C:\Temp\A\B\C) in eine andere Verzeichnisstruktur (Bsb: C:\Temp\X) kopiert. Dies hab ich soweit hingekriegt. Das ganze soll jetzt aber über ein GUI gelöst werden. Im GUI soll in einem Textfeld der Quellpfad angegeben werden können und mit einem StartButton das kopieren ausgelöst werden. Übrigens ich benutze Python 2.7 und wxGlade vo.6.3. Nach einwenig rumspielen mit wxGlade hab ich dann auch einen kleinen GUI hingekriegt.Bis jetz funktioniert es soweit wenn ich Start drücke wird eine Quellpfad in ein Zielpfad kopiert den ich fix im Handler Start eingetragen habe. Jetzt kommt mein Problem. Wie krieg ich das hin dass mein Quellpfad im Handler Start dem Pfad entspricht welcher ich in dem Textfeld eingegeben habe? Ich hab auch rausgefunden dass ich mit der Funktion wx.DirDialog ein Fenster in Explorer Ansicht öffnen kann und so den gewünschten Pfad auswählen kann. aber wieder hab ich das Problem dass ich diesen Pfad dann nicht in mein Handler Start bringe.
Ich hoffe ihr versteht mein wahrscheinlich für euch kleines Problem. Kann mir da jemand weiter helfen?
Besten Dank im voraus. Gruss Arno
Hier noch mein Code:
Ich bin ganz neu in diesem Forum und bin mir nicht sicher wo ich mein Problem schildern muss. Desshalb schreibe ich mal in die Algemeine Fragen.
Also zum Anfang: Ich bin ein Anfänger was die Python programmiereung anbelangt. Ich habe mir ein Dickes Buch (Das Python Praxis Buch) gekauft und auf diversen Internetseitenseiten Beispiele gefunden aber ich komme nicht weiter.
zu meinem Problem: Ich muss geschäftlich ein Python Skript erstellen dass in einem ersten Schritt eine Verzeichnisstruktur (Bsp: C:\Temp\A\B\C) in eine andere Verzeichnisstruktur (Bsb: C:\Temp\X) kopiert. Dies hab ich soweit hingekriegt. Das ganze soll jetzt aber über ein GUI gelöst werden. Im GUI soll in einem Textfeld der Quellpfad angegeben werden können und mit einem StartButton das kopieren ausgelöst werden. Übrigens ich benutze Python 2.7 und wxGlade vo.6.3. Nach einwenig rumspielen mit wxGlade hab ich dann auch einen kleinen GUI hingekriegt.Bis jetz funktioniert es soweit wenn ich Start drücke wird eine Quellpfad in ein Zielpfad kopiert den ich fix im Handler Start eingetragen habe. Jetzt kommt mein Problem. Wie krieg ich das hin dass mein Quellpfad im Handler Start dem Pfad entspricht welcher ich in dem Textfeld eingegeben habe? Ich hab auch rausgefunden dass ich mit der Funktion wx.DirDialog ein Fenster in Explorer Ansicht öffnen kann und so den gewünschten Pfad auswählen kann. aber wieder hab ich das Problem dass ich diesen Pfad dann nicht in mein Handler Start bringe.
Ich hoffe ihr versteht mein wahrscheinlich für euch kleines Problem. Kann mir da jemand weiter helfen?
Besten Dank im voraus. Gruss Arno
Hier noch mein Code:
Code: Alles auswählen
#!/usr/bin/env python
#
# generated by wxGlade 0.6.3 on Wed Sep 22 09:16:22 2010
import wx
import shutil
# begin wxGlade: extracode
# end wxGlade
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame.__init__
kwds["style"] = wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.themainpanel = wx.Panel(self, -1)
self.Text_Quelle = wx.StaticText(self.themainpanel, -1, "Quelle:")
self.Eingabe_Quelle = wx.TextCtrl(self.themainpanel, -1, "")
self.button_cancel = wx.Button(self.themainpanel, -1, "Cancel")
self.button_start = wx.Button(self.themainpanel, -1, "Start")
self.__set_properties()
self.__do_layout()
self.Bind(wx.EVT_TEXT_ENTER, self.Verzeichnis_angabe, self.Eingabe_Quelle)
self.Bind(wx.EVT_BUTTON, self.Exit, self.button_cancel)
self.Bind(wx.EVT_BUTTON, self.Start, self.button_start)
# end wxGlade
def __set_properties(self):
# begin wxGlade: MyFrame.__set_properties
self.SetTitle("Script_H")
# end wxGlade
def __do_layout(self):
# begin wxGlade: MyFrame.__do_layout
sizer_1 = wx.BoxSizer(wx.HORIZONTAL)
grid_sizer_1 = wx.GridSizer(3, 2, 2, 3)
grid_sizer_1.Add(self.Text_Quelle, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
grid_sizer_1.Add(self.Eingabe_Quelle, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
grid_sizer_1.Add(self.button_cancel, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
grid_sizer_1.Add(self.button_start, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
self.themainpanel.SetSizer(grid_sizer_1)
sizer_1.Add(self.themainpanel, 1, wx.EXPAND, 0)
self.SetSizer(sizer_1)
sizer_1.Fit(self)
self.Layout()
# end wxGlade
#Bei Start wird das kopieren des Trees von Quelle nach Ziel gehandhabt
def Start(self, event): # wxGlade: MyFrame.<event_handler>
shutil.copytree(r"C:\Temp\Laesser\Entwicklung\Beta\B10134",
r"C:\Temp\Laesser\Release\R10134\Software",
symlinks = False)
event.Skip()
#Bei Exit wird das Fenster geschlossen wenn der Button Cancel gedrueckt wird
def Exit(self, event): # wxGlade: MyFrame.<event_handler>
self.Close()
event.Skip()
def Verzeichnis_angabe(self, event): # wxGlade: MyFrame.<event_handler>
event.Skip()
# end of class MyFrame
if __name__ == "__main__":
app = wx.PySimpleApp(0)
wx.InitAllImageHandlers()
frame_1 = MyFrame(None, -1, "")
app.SetTopWindow(frame_1)
frame_1.Show()
app.MainLoop()