Как получить сестринский путь к папке в 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")
Другие вопросы по тегам