2012-02-14 31 views
1

我构建了一个应用程序系统,用于监听转储到共享共享驱动器的文件夹中的文件。我已经将smb驱动器安装到机器上了,不应该可以做一个简单的file.open()?SMB和Python与映射驱动器

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

我与雪豹在Mac上,我必须承认,我更习惯的Windows开发,所以我只是可以被误解的东西。任何帮助将非常感激。

我已经看过一些类似的堆栈溢出问题,比如这一个Using pysmbc to read files over samba

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

回答

5

如果远程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 

与此相关,LOCALFILE系统不参与,并且所有操作都由立即处理SMB系统。

+0

好吧,我想这就是我要找的。如果你可以澄清一点,但我现在在发现者眼中看到了这一点,并试图将它映射在脑海中。 在我的发现者的左侧有设备,共享,地点,搜索。我不完全确定我的地图在哪里。也就是说,我连接到smb驱动器并在其中映射一个目录,例如“Common”。我真的不知道我是如何去当地的。我的意思是,我甚至从哪里开始?那么这个挂载点的路径,有找到这个的方法吗?我想这是我被卡住的地方。 – Wuzseen 2012-02-14 19:58:24

+2

发现它,当地dir was/Volumes / – Wuzseen 2012-02-14 20:05:32