2

我正在构建一个应用程序系统,用于侦听转储到 smb 共享驱动器上共享文件夹中的文件。我已经将 smb 驱动器安装到机器上,难道我不能做一个简单的 file.open() 吗?

  file = open("//drive/location/of/file/file.txt")
  lines = file.readlines()
  for line in lines:
       print line
  file.close()

我在使用 Snow Leopard 的 Mac 上,我必须承认我更习惯于 Windows 开发,所以我可能会误解一些东西。任何帮助将不胜感激。

我见过几个类似的堆栈溢出问题,例如这个Using pysmbc to read files over samba

但这些都是关于以编程方式连接的,我已经将驱动器映射到我的机器上。

4

1 回答 1

6

如果安装了远程 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 系统处理。

于 2012-02-14T19:54:38.727 回答