Seite 1 von 1

wxFileDialog

Verfasst: Donnerstag 21. Juni 2012, 10:29
von OttoPython
Hi,

habe heute die nette funktion wxPython entdeckt und würde gern einmal wissen, wie ich mir dateinamen die ich mir per

Code: Alles auswählen

from wxPython.wx import *

application = wxPySimpleApp()

filters = 'All files (*.*)|*.*|Text files (*.txt)|*.txt'
dialog = wxFileDialog (None, message = 'Choose Files....', wildcard = filters, style = wxOPEN | wxMULTIPLE)
						

if dialog.ShowModal() == wxID_OK:
	selected = dialog.GetPaths()
	for selection in selected:
		print 'Selected:', selection
else:
	print 'Nothing was selected.'
dialog.Destroy()
auswähle ausgeben kann? ich habe einen Befehl gefunden kann ihn aber nicht rihctig implementieren

Code: Alles auswählen

GetFilenames (wxArrayString& filenames) const 
noch ne Frage btw:
wieso kann ich eigentlich im

Code: Alles auswählen

with open('bla.txt','r') as ... : 
keinen Pfad benutzen bzw/oder eine variable für den Pfad?

Re: wxFileDialog

Verfasst: Donnerstag 21. Juni 2012, 10:48
von /me
OttoPython hat geschrieben:wieso kann ich eigentlich im

Code: Alles auswählen

with open('bla.txt','r') as ... : 
keinen Pfad benutzen bzw/oder eine variable für den Pfad?
Weil du dabei anscheinend einen Fehler machst.

Der folgende Code funktioniert ohne Probleme.

Code: Alles auswählen

filepath = '/tmp/myfile'
with open(filepath) as fp:
    for line in fp:
        print line

Re: wxFileDialog

Verfasst: Montag 9. Juli 2012, 12:12
von OttoPython
... Fehler war auffallend dämlich von mir. hätte mir nur "selected" ausgeben lassen müssen.

aber nun eine andere Frage.
Dateiaufruf von mehreren Dateien auf einmal ist ja möglich mit dem multiple style.
Ist es möglich, Dateien aus unterschiedlichen Pfaden zu erfassen? Also auf die Methode von Multiple geht es nicht, jedes Markierte element wird ersetzt sobald etwas neues markiert wird logisch.
Ich hab es dann versucht einfach erneut ein filedialog zu eröffnen aber dann erhalte ich jedes mal den Fehler

Code: Alles auswählen

    dialog = wxFileDialog (None,defaultDir = Path, message = 'Choose Files....',
 wildcard = filters, style = wxOPEN | wxMULTIPLE)
  File "C:\Python27\lib\site-packages\wx-2.8-msw-unicode\wx\_windows.py", line 2
430, in __init__
    _windows_.FileDialog_swiginit(self,_windows_.new_FileDialog(*args, **kwargs)
)
wx._core.PyNoAppError: The wx.App object must be created first!
das Modul wird aber bereits vorher destroyed und komplett neu aufgerufen.

Hat da jmd ne Idee oder n Ratschlag wie man das Problem lösen kann, bzw besser machen könnte?