我正在 Ubuntu 上使用 python-smbc 库来访问 samba 共享。我可以很好地访问目录结构,但我不确定如何访问实际文件及其内容。网页(https://fedorahosted.org/pysmbc/)没有提到任何东西,代码是用C/C++编写的,文档很少,所以我不太确定如何使用它。
我所知道的是 Context.open (对于文件)需要 uri、标志和模式,但是标志和模式是什么,我不知道。
有人使用过这个库,或者有如何使用它读取文件的示例吗?
理想的情况当然是使用 smbfs 挂载,但是当我使用 smbmount 挂载相同的共享时,所有文件夹都是空的。尽管我可以使用相同的凭据使用 smbclient 很好地浏览它。
我在使用 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')
我之前的程序员使用的是包含大量 smbclient 调用的“bash”文件,
所以我认为我的解决方案至少更好。
我已经上传了here,因此您可以根据需要使用它。 Bitbucket 存储库是here。如果您找到更好的解决方案,请告诉我,我也会替换我的代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)