Hi all, I'm trying to write a multiplatform function that tries to return the actual user home directory. I saw that os.path.expanduser("~") works on Linux but on Windows2000 (at least on the win I used) it returns %USERPROFILE%, so I tried os.environ["HOME"] and it gave me the same results. So I ended up with os.environ["USERPROFILE"], it doesn't work on Linux but (at least) on Windows2000 it returns the correct information
I googled a little bit and it seems that there is no general solution, so I tried to merge what I found, and I wrote this little function: def getHomeDir(): ''' Try to find user's home directory, otherwise return current directory.''' try: path1=os.path.expanduser("~") except: path1="" try: path2=os.environ["HOME"] except: path2="" try: path3=os.environ["USERPROFILE"] except: path3="" if not os.path.exists(path1): if not os.path.exists(path2): if not os.path.exists(path3): return os.getcwd() else: return path3 else: return path2 else: return path1 Please, could you test it on your systems and tell me what you got? I'd like to know what it returns on different operating systems because I'm developing a multiplatform software. Thank you all. -- Unauthorized amphibians will be toad away. |\ | |HomePage : http://nem01.altervista.org | \|emesis |XPN (my nr): http://xpn.altervista.org -- http://mail.python.org/mailman/listinfo/python-list