Inspired by the python library pathlib
.
+ Addition | - Removal | $ Change
-
- There are no
PureXPath
base classes.
- There are no
-
- No
PureXPath
base classes.
- No
-
- No inheritance tree.
- $ Most operations/functions are D module functions but can be called as if they were members (thanks to D's unified function call syntax UFCS).
- $
as_posix()
=>posixData()
. -
asPosix()
to convert between different paths.
-
asNormalized()
to normalize a path, without resolving it. This works for all types of paths, regardless of the current system.
as_posix()
=>posixData()
. Additionally, there is alsowindowsData()
.- $ Instead of overloading operator
/
, the concatenation operator~
is overloaded instead:Path("hello") ~ "world" ~ "goodBye
// WindowsPath("hello\world\goodBye") or PosixPath("hello/world/goodBye") - $ Instead of
suffix()
andsuffixes()
there areextension()
,extensions()
, andfullExtension()
. - $ While pythons pathlib usually uses '/' as the path segment separator, we try to maintain the separator for the current type of path as much as possible.
- $ Instead of providing
rglob()
,glob()
accepts an optionalSpanMode
parameter. The typeSpanMode
is a public import fromstd.file
. -
copyFileTo()
To copy one file to some destination andcopyTo()
to copy either files or directories (not unlikecp -r
).