2014-12-22 3 views
2

Я пытаюсь подключить общий ресурс smb на рабочий стол через python, я не хочу, чтобы общий ресурс монтировался в папке, но были все остальные установленные домены (если я использую «подключиться к серверу» в OSX. Я хочу, чтобы мое монтирование python было смонтировано в том же месте). Вот текущий код питона:Монтирование сетевого ресурса SMB на рабочем столе

directory = os.path.expanduser('~/Desktop') 
directory = os.path.normpath(directory) 
os.system("mount_smbfs //server/servershare " + directory) 

Когда я бегу выше, что-то странное происходит. В finder мой дом, у которого есть значок дома и мое имя пользователя, изменяется на имя монтирования, он немного закручивает его.

+0

А что происходит? – Droppy

+0

Я обновил исходный вопрос. – speedyrazor

+0

Что вы ожидали? Вы установили сетевой ресурс по своему домашнему каталогу, так что все выглядит правильно для меня. – Droppy

ответ

2

Если вы хотите сделать это это кошерный, Finder, как способ, сделать это в AppleScript с помощью оболочки с помощью Python:

os.system("osascript -e 'mount volume \"smb://server/servershare\"'") 

Вам не нужно ничего другого - нет точки монтирования. Это идентично выбору «Подключиться к серверу», и итоговый объем будет отображаться в/Объемы, как ожидалось.

Если вам необходимо указать имя пользователя и/или пароль, вы можете сделать так:

os.system("osascript -e 'mount volume \"smb://server/servershare\" \ 
as user name \"myUserName\" with password \"myPassword\"'") 

Если вы хотите сделать это ваш оригинальный способ использования mount_smbfs, я думаю, что вы хотите directory быть папка вам создать в /Volumes, например /Volumes/mySmbVolume, хотя я никогда не пытался это сделать. Как вы его написали, вы заменяете свою фактическую папку Desktop томом, который вы монтируете. Однако вы можете создать папку внутри рабочего стола и использовать ее для directory, и это может сработать. Тем не менее, я бы сделал это, как будто я написал его, чтобы быть наиболее стандартным с обычным Mac способом делать что-то.

+0

Отличный ответ, очень информативный, и напрямую обращайтесь к вопросу. – speedyrazor

+0

Если серверу требуется пароль, и вы не вводите пароль в скрипт, кажется, что OS X не помнит пароль при вводе его в системное приглашение и проверку «Запомнить в цепочке ключей». У вас есть идея, как это исправить? – ebi