If the path has no extension, or if 'force' is True then the path with
the appended extension is returned. Otherwise, the path is returned
as-is. The value for 'ext' should not include a leading '.' character.
If fullpath ends with filename, the ancestor part of fullpath that
contains filename will be returned. Otherwise, fullpath will be returned.
Example:
fullpath => "C:\my_dir\something\file.dat"
filename => "something\file.dat"
returns "C:\my_dir\"
Appends 'extra' onto 'basePath', following path naming conventions by
ensuring that extra one directory separator character is inserted between
the two path parts. If both 'basePath' and 'extra' are empty then an
empty string is returned, otherwise if 'basePath' is empty then 'extra'
is returned, or if 'extra' is empty, then 'basePath' is returned.
Sets the application's current working directory. If an empty string is
given, the working directory will be set to the location of the
application's executable, or if the executable is inside a Mac
application bundle then the location of the Resources folder.