0

我目前在 Linux 机器上运行 python,并在 vbox 上运行 Windows XP 来宾。我想访问 xp 机器上的共享文件夹。我尝试了以下命令,但总是得到相同的错误。

d = os.listdir(r"\\remoteip\share")   
OSError: [Errno 2] No such file or directory  

xp 上的共享文件夹是通过在 Shared Documents 文件夹中创建一个新文件夹来创建的,我可以 ping 机器。

4

1 回答 1

1

Windows 共享是使用 smb 协议实现的。Windows 资源管理器和大多数 Linux 文件管理器(如 Nautilus)使其对用户透明,因此可以轻松对通过 smb 共享的文件\文件夹进行常见文件操作。

但是,Linux(以及在其上运行的 Python)默认情况下不会在文件系统级别添加此抽象(尽管您可以将 smb 共享挂载为 fs 的一部分)。

因此,最后,要访问这些文件,您可以:

  1. 使用mount -t cifs(man 或 google 获取详细信息)安装您的共享,然后像往常一样从 Python 文件夹访问您的共享(在我看来,这是相当笨拙的解决方案)
  2. 使用专门处理 smb 的库,例如pysmb(这里是相关文档部分),并在它的帮助下进行文件操作。

希望这会有所帮助。

于 2013-08-10T14:00:09.773 回答