使用pysmbc通过samba读取文件

Sta*_*ale 7 python samba

我在Ubuntu上使用python-smbc库来访问samba共享.我可以很好地访问目录结构,但我不知道如何访问实际文件及其内容.网页(https://fedorahosted.org/pysmbc/)没有提到任何东西,代码是用C/C++编写的,文档很少,所以我不太清楚如何使用它.

我所知道的是Context.open(对于文件)采用uri,flags和mode,但是我不知道是什么标志和模式.

有没有人使用过这个库,或者有关于如何使用它读取文件的例子?

理想的情况当然是使用smbfs挂载,但是当我使用smbmount挂载相同的共享时,所有文件夹都是空的.虽然我可以使用相同的凭据使用smbclient浏览它.

nos*_*klo 11

我也在使用smbfs(随机系统锁定和重启)时遇到了麻烦,需要快速回答.

我也尝试过该smbc模块但无法获取任何数据.我就像你一样访问目录结构.

时间到了,我不得不提供代码,所以我选择了一条捷径:

我在一个" smbclient"电话周围写了一个小包装器.这是一个黑客,丑陋,非常丑陋,但它适合我的需要.它正在我工作的公司的生产中使用.

以下是一些示例用法:

>>> smb = smbclient.SambaClient(server="MYSERVER", share="MYSHARE", 
                                username='foo', password='bar', domain='baz')
>>> print smb.listdir(u"/")
[u'file1.txt', u'file2.txt']
>>> f = smb.open('/file1.txt')
>>> data = f.read()
>>> f.close()
>>> smb.rename(u'/file1.txt', u'/file1.old')
Run Code Online (Sandbox Code Playgroud)

我之前的程序员正在使用带有大量smbclient调用的"bash"文件,所以我认为我的解决方案至少更好.

我已将其上传到此处,因此您可以根据需要使用它.Bitbucket存储库就在这里.如果您找到更好的解决方案,请告诉我,我也将替换我的代码.


Sea*_*agh -3

我会坚持使用 smbfs。您想要使用 Python 以外的其他工具访问这些共享文件只是时间问题。