[ Operating System | Reference Manual | Alphabetic Index ]
pathname(+FilePath, -Path, -BaseName, -Suffix)
Decomposes a filename into its directory path, base name and suffix
- FilePath
- String or atom.
- Path
- Variable or string.
- BaseName
- Variable or string.
- Suffix
- Variable or string.
Description
   This predicate is used to decompose FilePath which is either a relative
   or absolute pathname of a file, into three components, namely the pathname
   of its parent directory including the trailing "/" if any, the `base'
   name of the file (the plain file name without the suffix), and the
   suffix, if any. The concatenation of Path, BaseName and Suffix yields
   the original filename FilePath.
Modes and Determinism
- pathname(+, -, -, -) is det
Exceptions
- (4) instantiation fault 
- FilePath is not instantiated.
- (5) type error 
- FilePath is neither a string nor an atom.
- (5) type error 
- Path, BaseName or Suffix is neither a string nor a variable.
Examples
Success:
     [eclipse]: pathname("/home/user/userfile.pl", P, B, S).
     P = "/home/user/"
     B = "userfile"
     S = ".pl"
     yes.
      [eclipse]: pathname("/home/user/userfile", P, B, S).
      P = "/home/user/"
      B = "userfile"
      S = ""
      yes.
Fail:
      pathname("/home/file.pl","/home/","file", "pl").
Error:
      pathname(F,P,R,S).                 (Error 4).
      pathname("/home/file.pl",P,file,'.pl')    (Error 5).
See Also
pathname / 3, split_string / 4, join_string / 3, canonical_path_name / 2