Yes, it will handle the separator correctly depending on the OS where the
script is being run.

On Thu, May 17, 2012 at 5:30 AM, Howard Jones <[email protected]>wrote:

> Thanks Frank.
>
> Do you need to know the separator or is this handled correctly by os?
> The docs on python.org seem a bit unclear here? Also they seem to suggest
> its only sometimes useful whereas it would appear
> it's a very useful tool.
>
> I see also the file is returned as well so I dont need os.path.split[1]
> for that.
>
> Cheers
> Howard
>
>   ------------------------------
> *From:* Frank Rueter <[email protected]>
> *To:* [email protected]
> *Sent:* Wednesday, 16 May 2012, 23:46
>
> *Subject:* Re: [Nuke-python] Re: Seeing inside a string, to replace a
> file path
>
>  os.path.split will only split the item after the last slash:
> p = '/tmp/a/b/c/file.txt'
> s.path.split( p )
> ('/tmp/a/b/c', 'file.txt')
>
> whereas os.sep can be used in split() to split the whole thing:
> p.split( os.sep )
> ['', 'tmp', 'a', 'b', 'c', 'file.txt']
>
>
>
>
>
> On 16/05/12 7:48 PM, Howard Jones wrote:
>
>   os.path.split is the one I've always used. What's the advantage of
> os.sep?
>
> H
>
>  ------------------------------
> * From: * Frank Rueter <[email protected]> <[email protected]>;
> * To: * 
> <[email protected]><[email protected]>;
>
> * Subject: * Re: [Nuke-python] Re: Seeing inside a string, to replace a
> file path
> * Sent: * Tue, May 15, 2012 9:41:23 PM
>
>   check out os.path.split as well
>
>
> On 16/05/12 8:51 AM, Nathan Rusch wrote:
>
>  There are a couple things you need to be aware of.
>
> First, your string includes the ASCII control character \r. You either
> need to escape your backslashes by doubling them up or use a raw string:
>
> "C:\\workFolder\\shots\\renderFolder"
> # or
> r"C:\workFolder\shots\renderFolder"
>
> Now, the reason you’re hitting a SyntaxError is because your split string
> is an unescaped backslash, which makes Python think you’re trying to escape
> a single quote inside a single-quoted string and then failing to complete
> the string with another single quote. Escaping your backslash will work,
> but a safer bet is to use os.sep.
>
> import os
> r"C:\workFolder\shots\renderFolder".split(os.sep)
>
>
> -Nathan
>
>
>  *From:* Noggy
> *Sent:* Tuesday, May 15, 2012 1:39 PM
> *To:* [email protected]
> *Subject:* [Nuke-python] Re: Seeing inside a string, to replace a file
> path
>
>  Thanks! Now I get it. Does split only work on a list? I am getting an
> error trying to use split on a string. There's something about this that
> isn't clicking for me.
>
> wPath = "C:\workFolder\shots\renderFolder"
> wPath.split('\')[:4]
>
> SyntaxError: EOL while scanning string literal
>  ------------------------------
> _______________________________________________
> Nuke-python mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
>
> _______________________________________________
> Nuke-python mailing [email protected], 
> http://forums.thefoundry.co.uk/http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
>
>
> _______________________________________________
> Nuke-python mailing [email protected], 
> http://forums.thefoundry.co.uk/http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
>
> _______________________________________________
> Nuke-python mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
>
>
> _______________________________________________
> Nuke-python mailing list
> [email protected], http://forums.thefoundry.co.uk/
> http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
>
>
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to