Как получить сестринский путь к папке в Python?
x
,y
, а также z
папки в d:/
d:/x
(ток)
d:/y
d:/z
Каков наилучший способ получить пути y
а также z
папки из данного x
Путь к папке.
2 ответа
Использование модуля pathlib
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
Я думаю, что это должно в значительной степени делать то, что вы хотите.
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")