os.path.getsize () не работает на сетевом диске - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь собрать информацию об определенных c папках в моей сети при запуске этого скрипта. В настоящее время я запускаю этот код из MacBookPro, но в конце концов я буду использовать его на Win10. Код работает как шарм на локальных папках и файлах. Но как только я пытаюсь запустить его на моем сетевом диске SMB. Все работает хорошо, но показывает 0 как размер, который не является фактическим размером. Как сказано в локальных папках, он собирает правильную информацию. Я надеюсь, что у кого-то есть совет по этому поводу, поскольку я не получаю сообщения об ошибке или что-то еще.

def get_size(scan_paths = '.'):
    """Gets the size of the given folder path and returns the size in GB"""
    total_size = 0
    for dirpath, dirnames, filenames in os.walk(scan_paths):
        for f in filenames:
            fp = os.path.join(dirpath, f)
            # skip if it is symbolic link
            if not os.path.islink(fp):
                total_size += os.path.getsize(fp)
    return ", ".join(map(str, (round(total_size/1000/1000/1000, 2), 'GB'))).replace(', ', '')
...