2012-04-16 2 views
39

Possible en double:
How to find the real user home directory using python?
How to get the home directory in Python?Trouvez "répertoire personnel" en Python?

Je veux accéder /home/weasel à lire certains fichiers à partir de là, mais je ne veux pas écrire le chemin complet bien sûr - si d'autres les utilisateurs peuvent utiliser le script .. comment connaissez-vous votre nom d'utilisateur ou votre répertoire personnel avec python sous Linux?

Merci

+0

Copie possible: http://stackoverflow.com/q/2668909/777186 – jogojapan

+2

Celui-ci aussi: http://stackoverflow.com/q/4028904/777186 – jogojapan

+0

Quelqu'un devrait-il simplement vouloir le répertoire personnel plutôt que l'utilisateur? Vous pouvez essayer de trouver le répertoire de l'utilisateur ('ud') en faisant ceci:' hd = os.sep.join (ud.split (os.sep) [: - 1]) ' – Shule

Répondre

107

Pour obtenir le homedir en python, vous pouvez utiliser os.path.expanduser('~').

Cela fonctionne également si cela fait partie d'un chemin plus long, tel que os.path.expanduser('~/some/directory/file.txt'). S'il n'y a pas de ~ dans le chemin, la fonction retournera le chemin inchangé.

donc en fonction de ce que vous voulez faire, il vaut mieux que la lecture os.environ['HOME']

Le nom d'utilisateur est disponible par le biais getpass.getuser()

19

Le portable, d'obtenir le répertoire en Python utilise os.path.expanduser('~').

Questions connexes