commonlibs.fileio package¶
Submodules¶
commonlibs.fileio.json module¶
JSON
-
class
commonlibs.fileio.json.
NDArrayEncoder
(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]¶ Bases:
json.encoder.JSONEncoder
Serialise Numpy arrays
Use like this: json.dump(obj, fp, cls=NDArrayEncoder)
-
default
(obj)[source]¶ Implement this method in a subclass such that it returns a serializable object for
o
, or calls the base implementation (to raise aTypeError
).For example, to support arbitrary iterators, you could implement default like this:
def default(self, o): try: iterable = iter(o) except TypeError: pass else: return list(iterable) # Let the base class default method raise the TypeError return JSONEncoder.default(self, o)
-
commonlibs.fileio.paths module¶
Better file path handling
-
class
commonlibs.fileio.paths.
ProjectPaths
(root_dir)[source]¶ Bases:
object
-
FORMATTER_COUNTER
= 'counter'¶
-
UID_ROOT
= 'root'¶
-
add_path
(uid, path, uid_groups=None, is_absolute=False)[source]¶ Add a path
- Args:
- uid
Unique identifier for the path
- path
Path string or Path() object
- uid_groups
Optional UID(s) to identify files by groups
- is_absolute
Flag indicating if given ‘path’ is absolute
-
add_subpath
(uid_parent, uid, path, uid_groups=None)[source]¶ Add a child path to an existing parent path
- Args:
- uid_parent
UID of the parent directory
- uid
UID of the new path
- path
relative path to add
- uid_groups
Optional UID(s) to identify files by groups
-
add_suffix
(uid, new_suffix)[source]¶ Add a suffix to a path
- Args:
- uid
Unique identifier for the path
- new_suffix
String with the new suffix
-
change_suffix
(uid, new_suffix)[source]¶ Modify the suffix of a path
- Args:
- uid
Unique identifier for the path
- new_suffix
String with the new suffix
-
property
counter
¶
-
iter_group_paths
(uid_groups, make_dirs=False, is_dir=False)[source]¶ Return a generator with paths belong to group with given UID
- Args:
- uid_groups
Optional UID(s) to identify files by groups
-
make_dirs_for_groups
(uid_groups, is_dir=True)[source]¶ Create directories for all paths belonging to specified group(s)
- Args:
- uid_groups
Optional UID(s) to identify files by groups
-
remove_path
(uid)[source]¶ Remove a path from the bookkeeping
- Args:
- uid
Unique identifier for the path
-
rm_dirs_for_groups
(uid_groups)[source]¶ TODO
- Args:
- uid_groups
Optional UID(s) to identify files by groups
-
property
root
¶ Return the Path() object for the project root directory
-