Fredrik Lundh wrote: > > dinu wrote: > > Well, this is the usual "If you need it, do it yourself!" > > answer, that bites the one who dares to speak up for all > > those hundreds who don't... isn't it? > > fwiw, Python already supports this for real Unix platforms: > > >>> os.statvfs("/") > (8192, 512, 524288, 365788, 348336, 600556, 598516, 598516, 0, 255) > > here, the root disk holds 524288x512 bytes, with 348336x512 > bytes free for the current user, and 365788x512 bytes available > for root. > > (the statvfs module contains indices for accessing this "struct") > > Implementing a small subset of statvfs for Windows wouldn't > be that hard (possibly returning None for fields that don't make > sense, or are too hard to figure out). > > (and with win32all, I'm sure it can be done without any C code). It seems that all we need is Jack to port this to the Mac and we have a working API here :-) Let's do it... import sys,os try: os.statvfs except KeyError: # Win32 implementation... # Mac implementation... pass else: import statvfs def freespace(path): """ freespace(path) -> integer Return the number of bytes available to the user on the file system pointed to by path.""" s = os.statvfs(path) return s[statvfs.F_BAVAIL] * long(s[statvfs.F_BSIZE]) if __name__=='__main__': path = sys.argv[1] print 'Free space on %s: %i kB (%i bytes)' % (path, freespace(path) / 1024, freespace(path)) -- Marc-Andre Lemburg ______________________________________________________________________ Company & Consulting: http://www.egenix.com/ Python Pages: http://www.lemburg.com/python/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4