在桌面上挂载 SMB 网络共享

spe*_*zor 3 python macos smb share mount

我正在尝试通过 python 将 smb 网络共享安装到桌面上,我不希望将共享安装在文件夹中,但是所有其他安装的共享都是(如果我在 OSX 中使用“连接到服务器”,我想要我的 python 安装要安装在同一位置)。这是当前的Python代码:

directory = os.path.expanduser('~/Desktop')
directory = os.path.normpath(directory)
os.system("mount_smbfs //server/servershare " + directory)
Run Code Online (Sandbox Code Playgroud)

当我运行上面的代码时,发生了一些奇怪的事情。在查找器中,我的家有一个房子的图标,我的用户名更改为安装名称,这有点搞砸了。

Iva*_*n X 5

如果您想以类似 Finder 的方式执行此操作,请通过 shell 在 AppleScript 中通过 Python 执行此操作:

os.system("osascript -e 'mount volume \"smb://server/servershare\"'")
Run Code Online (Sandbox Code Playgroud)

您不需要任何其他东西——没有安装点。这与选择“连接到服务器”相同,并且生成的卷将按预期显示在 /Volumes 中。

如果您需要指定用户名和/或密码,您可以这样做:

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

如果您想使用原来的方式进行操作mount_smbfs,我认为您希望directory成为在/Volumes例如中创建的文件夹/Volumes/mySmbVolume,尽管我从未尝试过这样做。正如您所写的,您将用您正在安装的卷替换实际的桌面文件夹。但是,您可以在桌面内创建一个文件夹并使用它directory,它可能会起作用。然而,我会像我编写的那样,以最标准的方式使用通常的 Mac 做事方式。