我正在为Kodi Media Center开发一个附加服务,它将检查剩余的磁盘空间,并在空间低于500MB时提醒用户使用我创建的维护工具。它作为一个单独的服务运行。我需要一种在Android上使用python确定剩余磁盘空间的方法。我尝试过使用statvfs(),但显然它只兼容Unix类系统,包括OS X,这意味着我可以在Linux和OSX上使用statvfs。我可以在Windows上使用wmi或ctypes,但到目前为止还没有在Android上使用。我可以创建一个单独的包装器来检查操作系统,并为每一个系统使用最好的方法,但是我找不到一个适用于Android的python模块可以做到这一点。有什么建议吗?在
以下是我现有的代码:import xbmc, xbmcgui, xbmcaddon
import os, sys, statvfs, time, datetime
from time import mktime
__addon__ = xbmcaddon.Addon(id='plugin.service.maintenancetool')
__addonname__ = __addon__.getAddonInfo('name')
__icon__ = __addon__.getAddonInfo('icon')
thumbnailPath = xbmc.translatePath('special://thumbnails');
cachePath = os.path.join(xbmc.translatePath('special://home'), 'cache')
tempPath = xbmc.translatePath('special://temp')
addonPath = os.path.join(os.path.join(xbmc.translatePath('special://home'), 'addons'),'plugin.service.maintenancetool')
mediaPath = os.path.join(addonPath, 'media')
databasePath = xbmc.translatePath('special://database')
if __name__ == '__main__':
#check HDD freespace
st = os.statvfs(xbmc.translatePath('special://home'))
if st.f_frsize:
freespace = st.f_frsize * st.f_bavail/1024/1024
else:
freespace = st.f_bsize * st.f_bavail/1024/1024
print "Free Space: %dMB"%(freespace)
if(freespace < 500):
text = "You have less than 500MB of free space"
text1 = "Please use the Maintenance tool"
text2 = "immediately to prevent system issues"
xbmcgui.Dialog().ok(__addonname__, text, text1, text2)
while not xbmc.abortRequested:
xbmc.sleep(500)
我得到的错误是:
^{pr2}$