【问题标题】:Mount Windows smb shares on a Mac using Python使用 Python 在 Mac 上挂载 Windows smb 共享
【发布时间】:2014-02-05 22:53:43
【问题描述】:

我想创建一个 python 脚本,在 Mac 上挂载一个 Windows smb 共享,然后将数据复制到它。我遇到了第一个障碍,在安装份额时遇到了问题。这应该很容易,但我无法让它工作。我已经在互联网上搜索了一些线索:

mount -t smbfs //user@server/sharename share

这不起作用,但我看到了另一种使用 os 模块进行挂载命令的解决方案:

import os
os.system("mount -t smbfs //user@server/sharename share")

但这也不起作用。

我还阅读了有关为要挂载到的远程共享创建本地挂载点的信息。这是真的?我该怎么办?

非常感谢您的任何见解

一切顺利

约翰

【问题讨论】:

  • 这个问题似乎是题外话,因为它正在操作系统中安装一个卷,而不是help center 指南中定义的编程问题。更适合Ask DifferentSuper User。挂载卷是操作系统问题;如果您在使用 python 脚本复制文件时遇到问题,我们可以提供帮助。
  • @Ken White。谢谢你们的cmets。我已经重新表述了这个问题,以减少歧义,并将其发布到其他论坛。感谢你的帮助。万事如意

标签: macos python-3.x mount smb


【解决方案1】:

我想我已经明白了:

import os
directory = "/Users/user.name/foldername"
if not os.path.exists(directory): os.makedirs(directory)
os.system("mount_smbfs //user.name:password@server/servershare ~/foldername")

这将检查一个名为 foldername 的本地文件夹是否存在,如果不存在则创建它。然后它将使用定义的用户名/密码将 smb 共享挂载到其中。

【讨论】:

    【解决方案2】:

    需要注意的重要一点是,在此处定义的目录变量必须是绝对引用或相对引用,它不能使用 ~ 来表示主驱动器。

    例如。这将是无效的,并会导致 os.path.exists() 无法正常运行: directory = "~/user.name/foldername"

    我知道这是一个较晚的添加,但我认为值得一提,因为它在尝试使用它时让我绊倒了。我会对此发表评论,但我没有代表能够这样做。谢谢:)

    【讨论】:

      猜你喜欢
      • 2015-02-20
      • 2021-05-24
      • 2020-09-28
      • 2015-03-15
      • 2014-07-25
      • 2010-12-24
      • 2018-04-10
      • 1970-01-01
      • 2010-09-24
      相关资源
      最近更新 更多