使用Python,我如何访问Windows网络上的共享文件夹?

Nee*_*raj 44 python windows networking

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

Joh*_*web 64

使用正斜杠指定UNC路径:

open('//HOST/share/path/to/file')
Run Code Online (Sandbox Code Playgroud)

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

  • 有用.谢谢.我正在尝试反斜杠. (4认同)
  • 这仅适用于 Windows(是的,问题被标记为 Windows,但从非 Windows 操作系统访问 Windows 服务器也可能被标记为这样)。任何人都愿意为其他平台(例如 Linux)添加解决方案 - 如果可能的话,没有像 Samba 这样的东西? (3认同)
  • @DavidJ如果你在Linux上使用SMB,我希望安装`// HOST/share /`(像`/ mnt/share`这样的地方),并且像普通文件一样打开文件(`open( '到/ mnt /股/路径/到/文件')`). (3认同)
  • 这刚刚解决了一个让我烦恼的问题,谢谢! (2认同)

glg*_*lgl 23

你是怎么试的?也许你正在使用\并省略适当的转义.

代替

open('\\HOST\share\path\to\file')
Run Code Online (Sandbox Code Playgroud)

使用Johnsyweb的解与/s,或尝试其中之一

open(r'\\HOST\share\path\to\file')
Run Code Online (Sandbox Code Playgroud)

要么

open('\\\\HOST\\share\\path\\to\\file')
Run Code Online (Sandbox Code Playgroud)

.


小智 8

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

在 Windows 机器上运行 Python 3.6.5,我使用了以下格式

r"\\DriveName\then\file\path\txt.md"
Run Code Online (Sandbox Code Playgroud)

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