我正在尝试通过 python 将 smb 网络共享挂载到桌面上,我不希望将共享挂载到文件夹中,但是所有其他挂载的共享是否都是(如果我在中使用“连接到服务器” OSX 我希望我的 python 挂载安装在同一位置)。 这是当前的 python 代码:
directory = os.path.expanduser('~/Desktop')
directory = os.path.normpath(directory)
os.system("mount_smbfs //server/servershare " + directory)
当我运行上面的代码时,会发生一些奇怪的事情。在 finder 中,我的家有一个房子的图标,我的用户名更改为坐骑名称,它有点搞砸了。
最佳答案
如果您想以类似 Finder 的方式执行此操作,请通过 Python 通过 shell 在 AppleScript 中执行此操作:
os.system("osascript -e 'mount volume \"smb://server/servershare\"'")
您不需要任何其他东西——没有挂载点。这与选择“连接到服务器”相同,生成的卷将按预期显示在/Volumes 中。
如果您需要指定用户名和/或密码,您可以这样做:
os.system("osascript -e 'mount volume \"smb://server/servershare\" \
as user name \"myUserName\" with password \"myPassword\"'")
如果您想使用 mount_smbfs
以您原来的方式进行操作,我认为您希望 directory
成为您在 /Volumes
中创建的文件夹,例如/Volumes/mySmbVolume
,虽然我从来没有尝试过这样做。正如您所写的那样,您正在用您正在安装的卷替换您的实际桌面文件夹。但是,您可以在 Desktop 中为 directory
创建一个文件夹并将其用于 directory
,它可能会起作用。但是,我会像我写的那样按照通常的 Mac 做事方式最标准地去做。
关于python - 在桌面上安装 SMB 网络共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27598313/