4

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.

balki
  • 26,394
  • 30
  • 105
  • 151
letmecheck
  • 1,183
  • 8
  • 17

2 Answers2

5

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
balki
  • 26,394
  • 30
  • 105
  • 151
1

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")
ASH
  • 20,759
  • 19
  • 87
  • 200