task_boiler
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
task_boiler [2023/05/03 16:40] – [find depth of a file or directory] admin | task_boiler [2024/01/22 22:50] – raju | ||
---|---|---|---|
Line 4: | Line 4: | ||
Start the first heading with " | Start the first heading with " | ||
- | ===== find depth ===== | + | ===== Issue ==== |
- | ==== find depth of a file or directory ==== | + | barrons.com is giving the following error. |
< | < | ||
- | import os | + | You have been blocked. |
- | + | ||
- | 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: | + | Why? |
- | < | + | Something about the behaviour |
- | In [2]: | + | attention. |
- | os.path.abspath(os.path.expanduser(' | + | |
- | Out[2]: | + | |
- | '/ | + | |
- | + | ||
- | In [3]: | + | |
- | get_depth(' | + | |
- | Out[3]: | + | |
- | 2 | + | |
- | + | ||
- | In [4]: | + | |
- | get_depth('/ | + | |
- | Out[4]: | + | |
- | 2 | + | |
- | + | ||
- | In [5]: | + | |
- | get_depth('/ | + | |
- | Out[5]: | + | |
- | 2 | + | |
- | + | ||
- | In [6]: | + | |
- | get_depth('/ | + | |
- | Out[6]: | + | |
- | 3 | + | |
- | + | ||
- | In [7]: | + | |
- | get_depth('/' | + | |
- | Out[7]: | + | |
- | 1 | + | |
- | + | ||
- | In [8]: | + | |
- | get_depth('/ | + | |
- | Out[8]: | + | |
- | 1 | + | |
- | </ | + | |
- | + | ||
- | Using Python 3.10.6, Ipython 8.6.0 | + | |
- | + | ||
- | tags | measure | + | |
- | + | ||
- | 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, | + | There are various possible explanations for this: |
- | 4 child = os.path.abspath(os.path.expanduser(child)) | + | * You are browsing and clicking at a speed much faster than |
- | 5 parent = os.path.abspath(os.path.expanduser(parent)) | + | |
- | ----> 6 assert child.startswith(parent), | + | * Something is preventing JavaScript from working on your |
- | 7 name_space = os.path.relpath(child, parent) | + | computer. |
- | 8 level = os.path.normpath(name_space).count(os.sep) + 1 if name_space != '.' else 0 | + | * There is a robot on the same network |
- | AssertionError: | + | Having problems accessing the site? Submit feedback. |
+ | ID: a-b-c-d-e | ||
</ | </ | ||
task_boiler.txt · Last modified: 2024/01/23 22:55 by raju