os.path.split gets confused with combined \\ and /
Chris Rebert
clp2 at rebertia.com
Sun May 17 06:15:59 EDT 2009
On Sun, May 17, 2009 at 3:11 AM, Stef Mientki <stef.mientki at gmail.com> wrote:
> hello,
>
> just wonder how others solve this problem:
> I've to distribute both python files and data files.
> Everything is developed under windows and now the datafiles contains paths
> with mixed \\ and /.
> Under windows everthing is working well,
> but under Ubuntu / Fedora sometimes strange errors occurs.
> Now I was thinking that using os.path.split would solve all problems,
> but if I've the following relative path
>
> path1/path2\\filename.dat
>
> split will deliver the following under windows
> path = path1 / path2
> filename = filename.dat
>
> while under Linux it will give me
> path = path1
> filename = path\\filename.dat
>
> So I'm now planning to replace all occurences of os.path.split with a call
> to the following function
>
> def path_split ( filename ) :
> # under Ubuntu a filename with both
> # forward and backward slashes seems to give trouble
> # already in os.path.split
> filename = filename.replace ( '\\','/')
>
> return os.path.split ( filename )
>
> how do others solve this problem ?
> Are there better ways to solve this problem ?
Just always use forward-slashes for paths in the first place since
they work on both platforms.
But your technique seems a reasonable way of dealing with mixed-up
datafiles, since you're in that situation.
Cheers,
Chris
--
http://blog.rebertia.com
More information about the Python-list
mailing list