У меня также были проблемы с использованием smbfs (случайные блокировки и перезагрузки системы), и мне нужен был быстрый ответ.
Я также попробовал модуль smbc
, но не смог получить с ним никаких данных. Я зашел так далеко, что получил доступ к структуре каталогов, как и вы.
Время истекло, и мне пришлось доставить код, поэтому я выбрал ярлык:
Я написал небольшую оболочку для вызова "smbclient
". Это хак, уродливый, действительно уродливый , но он работает для моих нужд. Он используется на производстве в компании, в которой я работаю.
Вот пример использования:
>>> smb = smbclient.SambaClient(server="MYSERVER", share="MYSHARE",
username='foo', password='bar', domain='baz')
>>> print smb.listdir(u"/")
[u'file1.txt', u'file2.txt']
>>> f = smb.open('/file1.txt')
>>> data = f.read()
>>> f.close()
>>> smb.rename(u'/file1.txt', u'/file1.old')
Программист до меня использовал файл "bash" с большим количеством вызовов smbclient,
так что я думаю, что мое решение, по крайней мере, лучше.
Я загрузил его здесь , так что вы можете использовать его, если хотите. Репозиторий Bitbucket здесь . Если вы найдете лучшее решение, пожалуйста, сообщите мне, и я тоже заменю свой код.