What's the Scoop on \\ for Paths? (Win)

Alf P. Steinbach alfps at start.no
Sun Jan 31 19:23:35 CET 2010

* W. eWatson:
> I'm sure that \\ is used in some way for paths in Win Python, but I have
> not found anything after quite a search. I even have a six page pdf on a
> file tutorial. Nothing. Two books. Nothing. When I try to open a file
> along do I need, for example, "Events\\record\\year\\today"? Are paths
> like, ".\\Events" allowed, or am I mixing up my Linux memory on this?

The Python issue with \\ is that in a literal string \\ denotes a single \
character, like

>>> print( "back\\slash" )
back\slash
>>> _

This is just like in other languages with syntax inherited from C. Look up
"escape sequences". It has nothing to do with files and paths per se, but means
that you cannot write e.g. "c:\windows\system32", but must write something like
"c:\\windows\\system32" (try to print that string), or, since Windows handles
forward slashes as well, you can write "c:/windows/system32" :-).

The Window issue with \\ is that \\ as a path prefix denotes an UNC (Universal
Naming Convention) path. Usually that would be a LAN or WAN network path, but it
can also denote a printer or a pipe or a mailslot or just about anything. Using
UNC paths opens the door to creating files and directories that other programs
won't be able to handle, so Just Say No(TM), if you can.

Cheers & hth.,

- Alf