如何用Python以跨平台方式连接到Samba共享?

2 投票
2 回答
7052 浏览
提问于 2025-04-15 20:02

有没有一种方法可以让我在不同的平台上都能用Python连接到samba共享?

更多信息

我不想把共享文件夹挂载上去。我只是想把文件上传到共享里,就像smbclient的put命令那样。

谢谢,

皮特

2 个回答

0

根据这个问题,我会使用subprocess来在类Unix系统(除了Windows以外的大多数系统)中执行mount命令,而在Windows上则使用mountvol,不过那个StackOverflow的问题没有提到这一点。这两者之间的区别很小,只是在传给subprocess的字符串上有一点不同,完全可以封装成一个小函数。这可能也是我觉得这个问题没有什么“第三方解决方案”的原因——因为这个问题实在是太小了;-)。

如果你不想挂载文件系统,nosklo(一个常在SO上发帖的人)提供了一个,可以直接访问文件系统,不过我还没有试过这个。

4

pysmb 似乎是用来做这个的:https://miketeo.net/wp/index.php/projects/pysmb(这是更新后的链接)

撰写回答