cross-platform title - Como obter o diretório home no Python?



matplotlib istitle (2)

Esta questão já tem uma resposta aqui:

Preciso obter a localização do diretório inicial do usuário conectado no momento. Atualmente, tenho usado o seguinte no Linux:

os.getenv("HOME")

No entanto, isso não funciona no Windows. Qual é a maneira correta de multiplataforma para fazer isso?


Answers

Você quer usar os.path.expanduser . Isso garantirá que funcione em todas as plataformas

from os.path import expanduser
home = expanduser("~")

Se você está no Python 3.5+, você pode usar o pathlib.Path.home() :

from pathlib import Path
home = str(Path.home())

O Python 3.5 introduziu um método novo e mais rápido para percorrer o diretório - os.scandir().

Exemplo:

for file in os.scandir('/usr/bin'):
    line = ''
    if file.is_file():
        line += 'f'
    elif file.is_dir():
        line += 'd'
    elif file.is_symlink():
        line += 'l'
    line += '\t'
    print("{}{}".format(line, file.name))




python cross-platform home-directory