我正在为XBMC开发一个插件,根据磁盘空间可用性检查要删除的文件。我无法从基于Linux的操作系统检查Windows 7共享上的磁盘空间,包括Raspberry Pi,Ubuntu等。顺便说一句,XBMC使用python 2.6。
我目前的代码如下:
import os
loc1 = "smb://geert/e/Downloads/"
loc2 = "/home/"
stats = os.statvfs(loc)
print stats
在上面的代码中loc1
是给出麻烦的路径。似乎statvfs
模块无法处理smb://
路径,因为我一直收到以下错误。当我尝试loc2
时,一切都很好。我已经搜索了这个问题的确切答案,但找不到任何答案。
/usr/bin/python2.7 statvfstest.py
Traceback (most recent call last):
File "statvfstest.py", line 8, in <module>
print os.statvfs(loc)
OSError: [Errno 2] No such file or directory: 'smb://geert/e/Downloads/'
我尝试过的步骤:
我已尝试过psutil
模块,因为我在本网站的其他问题中经常看到这个模块,但它似乎只是statvfs
方法的包装,因此导致相同的错误消息,只有较长的堆栈跟踪。
已安装e
份额并使用了正确的凭据。共享在文件管理器中可见,并显示正确的内容。
我已在loc1
格式的smb://user:pass@geert/e/Downloads/
中添加了凭据。
上述三种方法的任何组合都无济于事。
请问您能否使用smb网络路径从Linux PC上可靠地测试我的Windows共享上可用空间量?如果可能的话,我想不再为我的插件添加额外的模块,以确保它保持轻量级。
提前致谢,
吉尔特