When creating your workflows, you'll be often manipulating file path. Instead of manipulating path as string, the best way is to take advantage of Python libaries such OS.path.
Here are some examples extracted from the official Python documentation (https://docs.python.org/2/library/os.path.html)
To concatenate paths: OS.path.join
Join one or more path components intelligently. The return value is the concatenation of path and any members of *paths with exactly one directory separator (
os.sep) following each non-empty part except the last, meaning that the result will only end in a separator if the last part is empty. If a component is an absolute path, all previous components are thrown away and joining continues from the absolute path component.
On Windows, the drive letter is not reset when an absolute path component (e.g.,
r'\foo') is encountered. If a component contains a drive letter, all previous components are thrown away and the drive letter is reset. Note that since there is a current directory for each drive,
os.path.join("c:", "foo")represents a path relative to the current directory on drive
os.path.join("/mnt/sharing", "agent", file_name)
To check is a directory exists: Os.path.exists
Trueif path refers to an existing path. Returns
Falsefor broken symbolic links. On some platforms, this function may return
Falseif permission is not granted to execute
os.stat()on the requested file, even if the path physically exists.
To split a file path and return the head and tail: Os.path.split
Split the pathname path into a pair,
(head, tail)where tail is the last pathname component and head is everything leading up to that. The tail part will never contain a slash; if path ends in a slash, tail will be empty. If there is no slash in path, head will be empty. If path is empty, both head and tail are empty. Trailing slashes are stripped from head unless it is the root (one or more slashes only). In all cases,
join(head, tail)returns a path to the same location as path (but the strings may differ). Also see the functions
To extract a file name and its extension: Os.path.splitext
Split the pathname path into a pair
(root, ext)such that
root + ext == path, and ext is empty or begins with a period and contains at most one period. Leading periods on the basename are ignored;
file_base, file_ext = os.path.splitext(file_name)