pathlib ~master

Object oriented path manipulation.


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

pathlib

Inspired by the python library pathlib.

Differences to the python library API

+ Addition | - Removal | $ Change

  • - There are no PureXPath base classes.
  • - No PureXPath base classes.
  • - 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 also windowsData().
  • $ 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() and suffixes() there are extension(), extensions(), and fullExtension().
  • $ 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 optional SpanMode parameter. The type SpanMode is a public import from std.file.
  • + copyFileTo() To copy one file to some destination and copyTo() to copy either files or directories (not unlike cp -r).
Authors:
  • manuzor
Sub packages:
pathlib:lib, pathlib:lib64
Dependencies:
none
Versions:
0.3.0 2015-Sep-15
0.2.0 2015-Jun-15
0.1.2 2015-May-22
0.1.1 2015-May-22
0.1.0 2015-May-22
Show all 6 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 0 downloads this month

  • 237 downloads total

Score:
0.9
Short URL:
pathlib.dub.pm