Mike Driscoll <[EMAIL PROTECTED]> at Montag 09 Juni 2008 18:20: > On Mon, Jun 9, 2008 at 11:07 AM, kj <[EMAIL PROTECTED]> wrote: >> In <[EMAIL PROTECTED]> "Mike Driscoll" >> <[EMAIL PROTECTED]> writes: >> >>>For my compiled scripts, I usually use this variation: >> >>>path = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]))) >> >> Thanks. But why the os.path.join()? (BTW, I did read the docs >> before posting, but they make no sense to me; they say that >> os.path.join joins "one or more path components intelligently", >> but what does it mean to join *one* component?) >> >> Kynn >> >> -- >> NOTE: In my address everything before the first period is backwards; >> and the last period, and everything after it, should be discarded. >> -- >> http://mail.python.org/mailman/listinfo/python-list >> > > The idea of the join method is to create the path in an OS agnostic > fashion. Linux uses forward slashes and Windows uses backward slashes > to join the parts. The join method does this for you so you don't have > to.
I guess, you didn't get his point. He seems to be aware that os.path.join creates a path from _multiple_ strings by joining them with the correct separator used by the underlying platform. But he was asking why one would invoke os.path.join on a _single_ string, as you did in your example. I'm wondering about this, too. It doesn't make sense to me. os.path.join doesn't convert existing separators to the platform-specific ones. And even if it would, sys.argv[0] already contains a correct path, so there is nothing that needs conversion. So why use it with a _single_ argument? I'd appreciate an example, illustrating the use of this ;) -- Freedom is always the freedom of dissenters. (Rosa Luxemburg) -- http://mail.python.org/mailman/listinfo/python-list