For easier portability, Panda3D uses Unix-style pathnames,
even on Microsoft Windows.  This means that the directory separator character is always a forward slash, not the Windows backslash character, and there is no leading drive letter prefix.  (Instead of a leading drive letter, Panda uses an initial one-letter directory name to represent the drive.)
 There is a fairly straightforward conversion from Windows filenames to panda filenames.  Always be sure to use Panda filename syntax when using a Panda3D library function, or one of the panda utility programs:
 
| 
  # WRONG:
 loader.loadModel("c:\\Program Files\\My Game\\Models\\Model1.egg")
 
 # CORRECT:
 loader.loadModel("/c/Program Files/My Game/Models/Model1.egg")
 
 |   
Panda uses the Filename class to store Panda-style filenames; many Panda functions expect a Filename object as a parameter.  The Filename class also contains several useful methods for path manipulation and file access, as well as for converting between Windows-style filenames and Panda-style filenames; see the API reference for a more complete list.
 To convert a Windows filename to a Panda pathname, use code similar to the following:
 
| 
 from pandac.PandaModules import Filename
 winfile = "c:\\MyGame\\Model1.egg"
 pandafile = Filename.fromOsSpecific(winfile)
 print pandafile
 
 |   
To convert a Panda filename into a Windows filename, use code not unlike this:
 
| 
 from pandac.PandaModules import Filename
 pandafile = Filename("/c/MyGame/Model1.egg")
 winfile = pandafile.toOsSpecific()
 print winfile
 
 |   
The Filename class can also be used in combination with python's built-in path manipulation mechanisms.
Let's say, for instance, that you want to load a model, and the
model is in the "model" directory that is in the same directory as the main program's "py" file.  Here is how you
would load the model:
 
| 
 import sys,os
 from pandac.PandaModules import Filename
 
 # get the location of the 'py' file I'm running:
 mydir = os.path.abspath(sys.path[0])
 
 # convert that to panda's unix-style notation
 mydir = Filename.fromOsSpecific(mydir).getFullpath()
 
 # now load the model
 model = loader.loadModel(mydir + "/models/mymodel.egg")
 
 |   
 |