Sander Sweers <sander.sweers <at> gmail.com> writes: > > 2009/4/13 Dominique <mydomdom <at> gmail.com>: > > What surprises me is that before calling the subprocess.Popen() method, I > > normalized the path using: > > filename = os.path.normpath(filename). > > It does.But do you also call os.path.normpath for the program path? > See below an example. > > >>> import os > >>> path = 'C:\Program Files\Notepad++\notepad++.exe' > >>> os.path.normpath(path) > 'C:\\Program Files\\Notepad++\notepad++.exe' > > Greets > Sander > _______________________________________________ > Tutor maillist - Tutor <at> python.org > http://mail.python.org/mailman/listinfo/tutor > >
You are perfectly right. I forgot to do it also for the program path ! Thanks. 1) Code directly in the console: In addition, the print instruction alters the path because of the backslash and the n: >>> import os.path >>> path = 'C:\Program Files\Notepad++\notepad++.exe' >>> path 'C:\\Program Files\\Notepad++\notepad++.exe' >>> print path C:\Program Files\Notepad++ otepad++.exe 2) Code inside a wxPython application: But inside a wxPython app, the following code: import os.path import subprocess as s path = 'C:\Program Files\Notepad++\notepad++.exe' print "path before = ",path path = os.path.normpath(path) print "path after = ", path s.Popen(path) returns: path before = C:\Program Files\Notepad++ otepad++.exe path after = C:\Program Files\Notepad++ otepad++.exe And of course it raises an exception when trying to open notepad++. If I add r before the path or 2 backslashes inside the path, everything is ok. It returns: path before = C:\Program Files\Notepad++\notepad++.exe path after = C:\Program Files\Notepad++\notepad++.exe And Notepad++ is opened. Note that the path returned only contains 1 backslash, as opposed to what is returned if it is coded directly in the console. That is what confused me. I think it should be linked to wxPython. Thanks a lot for your explanations and your time. Dominique _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor