SMB и Python с подключенным диском

Я создаю систему приложений, которые прослушивают файлы, сброшенные в общую папку на общем диске smb. Я подключил диски smb к машине, разве я не могу сделать простой file.open()?

  file = open("//drive/location/of/file/file.txt")
  lines = file.readlines()
  for line in lines:
       print line
  file.close()

Я на Mac со Snow Leopard, я должен признать, что я больше привык к разработке Windows, поэтому я просто могу что-то неправильно понять. Любая помощь будет очень признательна.

Я видел пару похожих вопросов о переполнении стека, таких как этот Использование pysmbc для чтения файлы по самбе

Но речь идет о программном подключении, у меня уже подключен диск к моей машине.


person Wuzseen    schedule 14.02.2012    source источник


Ответы (1)


Если удаленный SMB-диск смонтирован, то он, по сути, будет «частью» вашей основной файловой системы, и он будет просто

/path/to/mount_point/path/on/remote/server/file.txt
^^^^^^^^^^^^^^^^^^^^- local on mac
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- remote on other machine

и все они будут считаться «локальными» до тех пор, пока не будет получен доступ к файлу .txt, после чего инфраструктура SMB берет на себя управление и перенаправляет файловые операции на удаленный компьютер.

Использование нотации // указывает на то, что вы пытаетесь связаться напрямую по сети, и формат будет таким:

//name_of_remote_machine/name_of_share/path/to/file.txt

при этом локальная файловая система не задействована, и все операции сразу выполняются системой SMB.

person Marc B    schedule 14.02.2012
comment
Ладно, думаю, это то, что я ищу. Если бы вы могли немного пояснить, поскольку я вижу это визуально прямо сейчас в поисковике и пытаюсь отобразить это в своем уме. Слева от моего искателя есть устройства, общий доступ, места, поиск. Я не совсем уверен, где заканчивается моя карта. То есть я подключаюсь к smb-диску и сопоставляю внутри него каталог, скажем, Common. Я действительно не понимаю, как я иду на это локально. Я имею в виду, с чего мне вообще начать? Итак, этот путь к точке монтирования, есть ли способ найти это? Я предполагаю, что это - то, где я застрял тогда. - person Wuzseen; 14.02.2012
comment
нашел, локальный каталог был /Volumes/ - person Wuzseen; 15.02.2012