【问题标题】:Using Python, how can I access a shared folder on windows network?使用 Python,如何访问 Windows 网络上的共享文件夹?
【发布时间】:2011-11-02 10:43:37
【问题描述】:

我想从共享文件夹中复制一个文件,该文件位于不同系统的共享文件夹中,但位于同一网络上。如何访问文件夹/文件?常用的 open() 方法好像不起作用?

【问题讨论】:

  • 如果您有正确的访问权限,那么我认为常规打开应该可以工作......
  • 我该怎么办?我有共享文件夹的用户名和密码。代码是什么?

标签: python windows networking


【解决方案1】:

使用正斜杠指定UNC 路径:

open('//HOST/share/path/to/file')

(如果您的 Python 客户端代码也在 Windows 下运行)

【讨论】:

  • 这刚刚解决了一个让我烦恼的问题,谢谢!
  • 这仅适用于 Windows(是的,问题被标记为 Windows,但从非 Windows 操作系统访问 Windows 服务器也可能被标记为此类)。是否有人愿意为其他平台(例如 Linux)添加解决方案——如果可能的话,不用 Samba 之类的东西?
  • @DavidJ 如果你在 Linux 上使用 SMB,我希望 //HOST/share/ 被挂载(在某处像 /mnt/share)并且文件像普通文件一样打开(open('/mnt/share/path/to/file') )。
  • DavidJ 您尝试过@Johnsyweb 解决方案吗?成功了吗?
  • @Johnsyweb 您在某个地方有其他解决方案吗?可能是github,所以我可以查看和重用?我在试图访问共享网络地址的 MAC 上。它已安装 - 我已经关注了这个地方的所有解决方案,所有解决方案都给出 FileNotFoundError: [Errno 2] No such file or directory:
【解决方案2】:

你是怎么尝试的?也许您正在使用 \ 并省略正确的转义。

而不是

open('\\HOST\share\path\to\file')

将 Johnsyweb 的解决方案与 /s 结合使用,或尝试其中一种

open(r'\\HOST\share\path\to\file')

open('\\\\HOST\\share\\path\\to\\file')

.

【讨论】:

    【解决方案3】:

    我遇到了与 OP 相同的问题,但当前的答案都没有解决我的问题,所以添加一个对我有用的稍微不同的答案:

    在 Windows 机器上运行 Python 3.6.5,我使用的格式

    r"\DriveName\then\file\path\txt.md"

    因此,阅读@Johnsyweb UNC 链接并按照建议在前面添加 r 的双反斜杠组合解决了我与 OP 的问题类似的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-04
      相关资源
      最近更新 更多