Fredrik Lundh wrote:
Tim Peters wrote:
One of the best things Python ever did was to introduce os.path.getsize() + friends, saving the bulk of the world from needing to wrestle with the obscure Unix stat() API.
yup (I remember lobbying for those years ago), but that doesn't mean that we cannot make already existing low-level APIs work on as many platforms as possible...
(just like os.popen etc)
adding os.statvfs for windows is pretty much a bug fix (for 2.1?), but adding a new API is not (2.2).
os.chmod() is another x-platform teachability pain
shutil.chmod("file", "g+x"), anyone?
Wasn't shutil declared obsolete ?
if there's anything worth knowing in the bowels of statvfs(), let's please spell it in a human-friendly way from the start.
how about os.path.getfreespace("path") and os.path.gettotalspace("path") ?
Anybody care to add the missing parts in: import sys,os try: os.statvfs except AttributeError: # 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)) totalspace() should be just as easy to add and I'm pretty sure that you can get that information on *all* platforms (not necessarily using the same APIs though). -- Marc-Andre Lemburg ______________________________________________________________________ Company & Consulting: http://www.egenix.com/ Python Pages: http://www.lemburg.com/python/