Check out: os.path.abspath
given a path string, of any platform, returns the correct slash order
for the host platform. Nice for cross-platform scripting. I wrap most
my paths in this..



On Tue, Jun 9, 2009 at 4:42 PM, Ofer Koren<[email protected]> wrote:
>
> I have seen this for a long time, but it never seemed to create any problems
> really. As long as you use the same best-practices you'd use to keep code
> cross-platform everything should work fine.
>
> If you still want to go ahead with a smart operator, I'd vote for:
>
> 3) join, then normalize resulting path to forward slash
>
> since it is consistent with the way os.path 'wants' to work (which is make
> the separator compatible with the OS)
>
> Ofer
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Chadrik
> Sent: Tuesday, June 09, 2009 3:33 PM
> To: python_inside_maya
> Subject: [Maya-Python] maya file paths on windows
>
>
> i've been messing around with maya on windows and i've noticed that
> there are some inconsistencies with path slashes that need to be
> resolved.  maya returns forward slashes (/) on both windows and unix-
> like systems, but python tries to use back slashes (\) on windows.  as
> a result, using os.path.join with paths returned by maya ends up
> producing mixed slashes:
>
>>>> os.path.join( workspace(q=1, fullName=1), 'scenes' )
> 'C:/path/to/project\scenes'
>
> i was wondering how people out there are dealing with this.  it seems
> that maya and python can both understand paths with mixed slashes, but
> are there edge cases where this becomes a problem or where forward
> slashes do not work on windows?
>
> pymel provides the Path class, which overrides the / operator to mean
> os.path.join, which obviously has the same problem:
>
>>>> workspace.getcwd() / 'scenes'
> 'C:/path/to/project\scenes'
>
> however, i was considering making this operator smarter. options
> include:
> 1) always join with forward slash
> 2) choose the joining slash based on the left operand
> 3) join, then normalize resulting path to forward slash
> 4) join, then normalize resulting path using slash determined from
> left operand
>
> which of these seem like the best measure?  is there any option i'm
> leaving out?
>
> -chad
>
>
>
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/python_inside_maya
-~----------~----~----~----~------~----~------~--~---

Reply via email to