task_boiler
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
task_boiler [2023/05/03 16:42] – admin | task_boiler [2024/01/23 22:55] (current) – raju | ||
---|---|---|---|
Line 3: | Line 3: | ||
Start the first heading with " | Start the first heading with " | ||
- | |||
- | ===== find depth ===== | ||
- | ==== find depth of a file or directory ==== | ||
- | < | ||
- | import os | ||
- | |||
- | def get_depth(file_or_dir_path): | ||
- | abs_path = os.path.abspath(os.path.expanduser(file_or_dir_path)) | ||
- | depth = os.path.normpath(abs_path).count(os.sep) | ||
- | return depth | ||
- | </ | ||
- | |||
- | Examples: | ||
- | < | ||
- | In [2]: | ||
- | os.path.abspath(os.path.expanduser(' | ||
- | Out[2]: | ||
- | '/ | ||
- | |||
- | In [3]: | ||
- | [get_depth(' | ||
- | | ||
- | Out[3]: | ||
- | [2, 2, 2, 3, 1, 1] | ||
- | </ | ||
- | |||
- | Using Python 3.10.6, Ipython 8.6.0 | ||
- | |||
- | tags | measure the depth of a file system path | ||
- | |||
- | See also: | ||
- | * https:// | ||
- | * https:// | ||
- | |||
- | ==== depth of a directory relative to a parent directory ==== | ||
- | < | ||
- | import os | ||
- | |||
- | def dir_depth_relative(child, | ||
- | child = os.path.abspath(os.path.expanduser(child)) | ||
- | parent = os.path.abspath(os.path.expanduser(parent)) | ||
- | assert child.startswith(parent), | ||
- | name_space = os.path.relpath(child, | ||
- | level = os.path.normpath(name_space).count(os.sep) + 1 if name_space != ' | ||
- | return level | ||
- | </ | ||
- | |||
- | Examples: | ||
- | < | ||
- | In [2]: | ||
- | [dir_depth_relative(' | ||
- | | ||
- | | ||
- | | ||
- | Out[2]: | ||
- | [0, 0, 1, 1, 1, 0, 2] | ||
- | |||
- | In [3]: | ||
- | dir_depth_relative('/ | ||
- | --------------------------------------------------------------------------- | ||
- | AssertionError | ||
- | Cell In [3], line 1 | ||
- | ----> 1 dir_depth_relative('/ | ||
- | |||
- | Cell In [1], line 6, in dir_depth_relative(child, | ||
- | 4 child = os.path.abspath(os.path.expanduser(child)) | ||
- | 5 parent = os.path.abspath(os.path.expanduser(parent)) | ||
- | ----> 6 assert child.startswith(parent), | ||
- | 7 name_space = os.path.relpath(child, | ||
- | 8 level = os.path.normpath(name_space).count(os.sep) + 1 if name_space != ' | ||
- | |||
- | AssertionError: | ||
- | </ | ||
task_boiler.1683132156.txt.gz · Last modified: 2023/05/03 16:42 by admin