使用 Python,如何访问 Windows 网络上的共享文件夹?
Posted
技术标签:
【中文标题】使用 Python,如何访问 Windows 网络上的共享文件夹?【英文标题】:Using Python, how can I access a shared folder on windows network? 【发布时间】:2011-11-02 10:43:37 【问题描述】:我想从共享文件夹中复制一个文件,该文件位于不同系统的共享文件夹中,但位于同一网络上。如何访问文件夹/文件?常用的 open() 方法好像不起作用?
【问题讨论】:
如果您有正确的访问权限,那么我认为常规打开应该可以工作...... 我该怎么办?我有共享文件夹的用户名和密码。代码是什么? 【参考方案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 的问题类似的问题。
【讨论】:
以上是关于使用 Python,如何访问 Windows 网络上的共享文件夹?的主要内容,如果未能解决你的问题,请参考以下文章
linux访问windows的samba配置,如何配置?详细教程
使用Python boto3上传Windows EC2实例中的文件至S3存储桶中
如何在 Windows 中强制“无法访问目标网络”ping 结果
如何在 Windows 7 上使用命令 CMD 从 python django 访问和配置 postgresql 数据库