Comment obtenir de l'emplacement du Bureau?
Je suis à l'aide de Python sur Windows et je veux une partie de mon script pour copier un fichier à partir d'un certain répertoire (je sais que son chemin d'accès) sur le Bureau.
J'ai utilisé ceci:
shutil.copy(txtName, '%HOMEPATH%/desktop')
Tout txtName
est le txt nom du Fichier (avec le chemin complet).
J'obtiens l'erreur:
IOError: [Errno 2] No such file or directory: '%HOMEPATH%/DESKTOP'
De l'aide?
Je veux que le script fonctionne sur n'importe quel ordinateur.
OriginalL'auteur Ben L | 2015-12-14
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
os.environ["HOMEPATH"]
pour obtenir le chemin d'accès. Droit maintenant, il est littéralement en essayant de trouver%HOMEPATH%/Desktop
sans se substituer le chemin d'accès réel.Peut-être quelque chose comme:
os.path.expanduser("~/Desktop")
fonctionne sur Linux et WindowsVous devriez faire qu'une réponse, c'est mieux que les autres.
OriginalL'auteur tpearse
Sur Unix ou Linux:
sur Windows:
et d'ajouter dans votre commande:
merci de voter ou d'accepter, si vous avez trouvé utile ou si il résolu votre question.
vous et l'un au-dessus de vous eu beaucoup de réponses. souhaite que je pourrais accepter de vous deux. voté jusqu'à présent. merci!!!!
Dans les deux Windows et Linux, cela semble fonctionner:
os.path.expanduser("~/Desktop")
Il n'est pas nécessaire pour l'intérieur
os.path.join()
appel. Aussi, la première solution fonctionne pour Windows: il n'est pas nécessaire pour la deuxième solution.OriginalL'auteur
Cela fonctionne sur Windows et Linux:
Je n'ai pas non anglaise de Windows de la machine de test, pouvez-vous nous le faire savoir?
Malheureusement je n'ai pas ce soit...
Qui va produire
'C:\\Users\\user/Desktop'
sur Windows ... Cela va fonctionner sur Windesktop = os.path.expanduser("~\\Desktop")
qui est valide, dans la plus récente des Veuves, vous pouvez utiliser
/
et c'est préférable, parce que vous n'aurez pas à y échapper. Vous pouvez utiliseros.path.normpath
si vous vous souciez.OriginalL'auteur dashesy
Je ne peux pas commenter pour l'instant, mais des solutions basées sur l'adhésion à l'emplacement d'un chemin d'accès utilisateur avec "Bureau" ont limité l'appareil parce que Bureau pourrait et souvent est réassigné à un lecteur non-système.
Pour obtenir de l'emplacement réel de registre de windows doit être utilisé... ou des fonctions spéciales via ctypes comme https://stackoverflow.com/a/626927/7273599
OriginalL'auteur GPCracker