x
,y
, and z
are folders in d:/
d:/x
(current)
d:/y
d:/z
What is the best way to get paths of y
and z
folders from given x
folder path.
x
,y
, and z
are folders in d:/
d:/x
(current)
d:/y
d:/z
What is the best way to get paths of y
and z
folders from given x
folder path.
Using pathlib module
In [39]: from pathlib import Path
In [40]: def get_siblings(path):
...: parent = path.parent
...: for x in parent.iterdir():
...: if x.is_dir() and x != path:
...: yield x
...:
In [41]: for f in get_siblings(Path.cwd()):
...: print(f)
...:
/mnt
/snap
/lib
/bin
/tmp
/sbin
/usr
/lib64
/opt
/lib32
/boot
/etc
/media
I think this should pretty much do what you want.
import os
from os.path import join, getsize
for root, dirs, files in os.walk('C:/your_path_here/'):
print(root, "consumes", end=" ")
print(sum(getsize(join(root, name)) for name in files), end=" ")
print("bytes in", len(files), "non-directory files")