2017-07-27 1 views
2

Je travaille sur une application Python que je veux faire installer dans le futur, donc beaucoup de gens peuvent l'utiliser. En ce moment, je veux accéder à un exécutable spécifique situé sur le dossier de l'application, qui ressemble à ceci:Comment faire un chemin universel avec Python

import subprocess 
subrocess.call ('C:\Users\myusername\Desktop\Chester 2.0\Engine\Arena.exe') 

Si je laisse comme ça, quand quelqu'un exécute autre sur leur ordinateur, le programme Python a gagné » t trouver le fichier, car nos noms d'utilisateur seront différents. Existe-t-il un moyen d'accéder au fichier, quel que soit le nom d'utilisateur de l'utilisateur?

+1

Expédiez-vous la 'Arena.exe' avec votre code Python ? Si oui, d'où exécutez-vous votre script? Si non, comment pouvez-vous garantir que tous les utilisateurs ont Chester 2.0 \ Engine \ Arena.exe sur leur bureau? – zwer

+0

'os.path.join (os.getcwd(), 'Arena.exe')' –

+0

@zwer Je crée un fichier exécutable qui installe le programme sur le bureau de celui qui télécharge le programme – Esteb37

Répondre

2
from os.path import dirname 
print(dirname(__file__)) 

affiche le répertoire absolu à partir duquel python est exécuté. que vous devriez aller

0

je fixe en utilisant les fonctions de expanduser et os.path.join, il ressemble maintenant à ceci:

from os.path import expanduser 
home = expanduser("~") 
arena = os.path.join(home, "Desktop\Chester 2.0\Engine\Arena.exe") 
subprocess.call (arena)