On Nov 25, 2017 16:53, "Irv Kalb" <i...@furrypants.com> wrote:

Thanks Ian.

I'm not worried about the os module being available.  I use pygame in
classes that I teach, and it seems like its just one more thing for
students  to understand and remember.  I teach mostly art students, very
few computer science students.  I've used relative path like this:

pygame.image.load('images/ball.png')

for a long time and they had always worked for me.  Sounds like you have
seen this too.  Unless I hear otherwise, I will use this approach as it is
easier for students to comprehend.


Understood and agreed. I generally recommend relative, forward-slashed
paths in every case, until and if some Windows utility decides to complain,
which they usually don't anymore. The main holdout is the shell, which
Windows continues, I assume just to be pissy. Fair enough; the UNIX
equivalent, Bash, deliberately pretends to uncomprehend "\r".

I never use hardcoded absolute paths, since a relative path or a
user-specified path is always (can't think of counterexample, and never ran
into one) better.

As an aside ... I did development in another language/environment (Adobe
Director/Lingo) for many many years.  Whenever we needed to specify a path,
we had to build the full path including the folder delimiter character.  I
started working in that environment in the days of Mac OS9.  At that time,
the Mac folder separator character was the ":" colon character.  I didn't
realize it but the character on a Mac is now the "/", same as the Unix
character - probably changed when OS X came out.  I think either one will
work on a Mac.


Hmm I didn't know this, never really viewing Macs as suitable for
development. It's good it has converged to the forward-slash convention
though.

When I started using Python, I thought it was very clever that I can use
just the "/" character in Python, and Python seems to do whatever
translation it needs to do to make the path work on the target system.


You'll see the same behavior in C, so either the standard library does the
appropriate conversion before the ultimate syscall, or the syscall itself
understands forward-slashes.

Thanks,

Irv


Ian

Reply via email to