Список всех папок на NAS с Python

Я пытаюсь составить список всех общих папок на Synology NAS с помощью Python.

Допустим, мне нужен список всех папок на \\DISKSTATION
Например: общедоступная, домашняя, фильмы и т. д.

Это возможно?

Спасибо за вашу помощь!


person lojoma    schedule 04.05.2016    source источник
comment
Вам нужен просто список всех папок по сетевому пути?   -  person valex    schedule 04.05.2016
comment
Запуск сценария для вывода списка всех папок по сетевому пути действителен только для учетных данных, под которыми выполняется сценарий. Это может или не может вернуть информацию, которую вы ищете.   -  person Edwin van Mierlo    schedule 04.05.2016


Ответы (3)


Почему бы не использовать pysmb?

pip install pysmb

Чтобы просмотреть содержимое общего доступа:

from smb.SMBConnection import SMBConnection

conn = SMBConnection('username', 'password', 'local_NetBIOS_name', 'remote_NetBIOS_name')
conn.connect('ip_address')
results = conn.listPath('share_name', '/optionally/some/subfolder')

for x in results:
    print x.filename

Выведет:

.
..
dir1
dir2
file1
file2
person fips    schedule 04.05.2016

from smb.SMBConnection import SMBConnection

conn = SMBConnection('username', 'password', 'local_NetBIOS_name',   'remote_NetBIOS_name')
conn.connect('domain address')
folders = conn.listPath('share_name', '/relative/subfolder')

for folder in folders:
    print folder.filename

conn.connect также может использовать адрес домена, например xyz.com.

conn.connect('xyz.com')
person raj    schedule 21.12.2017

если вы можете получить прямой доступ к папке NAS (без дополнительной аутентификации), вы можете попробовать запустить python:

import os
os.listdir(r'\\DISKSTATION')

он распечатает подпапки в \\DISKSTATION. если вы хотите найти все подпапки, вы можете следовать: Получение списка всех подкаталогов в текущем каталоге

person Guoliang    schedule 04.05.2016