SMB и Python с подключенным диском - PullRequest
1 голос
/ 14 февраля 2012

Я создаю систему приложений, которые прослушивают файлы, помещенные в общую папку на общем диске 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 для чтения файлов через samba

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

1 Ответ

5 голосов
/ 14 февраля 2012

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

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

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

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

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

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

...