syncopy.shared.parsers.io_parser#
- syncopy.shared.parsers.io_parser(fs_loc, varname='', isfile=True, ext='', exists=True)[source]#
Parse file-system location strings for reading/writing files/directories
- Parameters:
fs_loc (str) – String pointing to (hopefully valid) file-system location (absolute/relative path of file or directory ).
varname (str) – Local variable name used in caller, see Examples for details.
isfile (bool) – Indicates whether fs_loc points to a file (isfile = True) or directory (isfile = False)
ext (str or 1darray-like) – Valid filename extension(s). Can be a single string (e.g., ext = “lfp”) or a list/1darray of valid extensions (e.g., ext = [“lfp”, “mua”]).
exists (bool) – If exists = True ensure that file-system location specified by fs_loc exists (typically used when reading from fs_loc), otherwise (exists = False) check for already present conflicting files/directories (typically used when creating/writing to fs_loc).
- Returns:
fs_path (str) – Absolute path of fs_loc.
fs_name (str (only if isfile = True)) – Name (including extension) of input file (without path).
Examples
To test whether “/path/to/dataset.lfp” points to an existing file, one might use
>>> io_parser("/path/to/dataset.lfp") '/path/to', 'dataset.lfp'
The following call ensures that a folder called “mydata” can be safely created in the current working directory
>>> io_parser("mydata", isfile=False, exists=False) '/path/to/cwd/mydata'
Suppose a routine wants to save data to a file with potential extensions “.lfp” or “.mua”. The following call may be used to ensure the user input dsetname = “relative/dir/dataset.mua” is a valid choice:
>>> abs_path, filename = io_parser(dsetname, varname="dsetname", ext=["lfp", "mua"], exists=False) >>> abs_path '/full/path/to/relative/dir/' >>> filename 'dataset.mua'