-2
votes

Passer un chemin de fichier dynamique en python

Je veux pouvoir passer dans un fichier Filpath à ma fonction Python en tant que paramètre. Pour pouvoir rendre mon code fiable, si un autre devait devait exécuter mon code sur leur machine, le chemin de fichier changerait en fonction du nom de l'utilisateur. Comment puis-je modifier ce changement de manière dynamique dans Python.

Par exemple, ma fonction prend les arguments suivants: xxx

Je veux pouvoir modifier ce chemin de fichier de manière dynamique en changeant de manière dynamique. mon nom 'JAME' au nom de l'utilisateur actuel.


5 commentaires

Stackoverflow.com/ Questions / 4028904 / ...


Donc, vos chemins sont quelque chose comme "/ users / user_1 / bureaux / code de données / testdata", "/ utilisateurs / user_2 / de bureau / code de données / testdata", "/ utilisateurs / user_3 / bureau / code de données / testdata" ? Cela signifie que seul le nom d'utilisateur change et tout le reste reste le même?


Oui correct @lossofhumanIdentity


Cette question n'est vraiment pas un double de toute question que j'ai examinée à travers @georgy


La partie " Code de bureau / code de données / TestData " qui vient après le chemin de la maison de l'utilisateur, ne le rend pas moins en double.


5 Réponses :


2
votes

Obtenez le répertoire de travail actuel comme xxx


0 commentaires

0
votes

Si tous les chemins souhaités sont sous la forme

  • / users / user_1 / de bureau / code de données / testdata

  • / user / user_2 / bureau / code de données / testdata

  • / user / user_3 / bureau / code de données / testdata

    Nous pouvons donc définir la fonction suivante qui fera le travail: xxx

    Cette fonction accepte une chaîne Nom d'utilisateur en tant que paramètre d'entrée et prend soin de retourner la chemin d'intérêt souhaité.

    Exemples:

    faire foo ("robert") entraînera / users / robert / user / user / Code de données / TestDATA

    FOOD FOO ("DAVID") aboutira à / users / david / code de bureau / code de données / testdata


0 commentaires

0
votes

Vous pouvez utiliser PATHLIB pour obtenir votre dossier à domicile et construire le chemin avec celui-ci: xxx

ou, si vous souhaitez remplacer le début de votre utilisateur avec le chemin de l'utilisateur droit avec quelque chose comme " Traducteur ": xxx

Il devrait fonctionner sur presque n'importe quel système d'exploitation.


0 commentaires

0
votes

Utiliser OS code> module:

user_home_dir = os.path.expanduser('~')
user = os.path.split(user_home_dir)[-1]
os.path.join('/Users', user, 'Desktop/data-code/Testdata')
#/Users\\User_1\\Desktop/data-code/Testdata'


0 commentaires

0
votes

J'ai fait ce qui suit:

def get_json_location(username=os.getlogin()):
    first = "/Users/"
    last = "/Desktop/data-code/Testdata"
    result = first + username + last
    return result


0 commentaires