Comment puis-je trouver le répertoire de Python de lancer le script à partir de l'intérieur du script?
Comment puis-je trouver le répertoire de l'exécution d'un script Python à partir de l'intérieur de Python [3.3]?
J'ai essayé ce qui a été suggéré à: Comment puis-je trouver du script d'annuaire avec Python? , mais j'ai la "syntaxe non Valide" et réalisé "à l'os" (Et je n'import os).
Le plus proche que j'ai la réponse est: sys.argv[0] , mais qui comprend encore le nom de fichier, donc je ne peux pas l'utiliser. Est-il un autre moyen?
NOTE:
Je suis assez nouveau à Python.
Voici un code que j'ai fait jusqu'à présent (la partie où il est dit rundir = sys.argv[0] est l'endroit où la suggestion de code):
import pygame
from pygame.locals import *
import os, sys
import time
pygame.init()
import statuscheck
print("Completed program status check.")
import mods.modlist
print("Loaded all mods..")
print("Completed loading")
sys.dont_write_bytecode = True
rundir = sys.argv[0]
print("Running from" + rundir)
Vous pouvez poster votre code exact et l'erreur exacte que vous obtenez? La réponse que vous avez lié sonne comme il devrait travailler pour vous.
OriginalL'auteur Guy Keogh | 2013-10-11
Vous devez vous connecter pour publier un commentaire.
Pour obtenir le répertoire qui contient le module en cours d'exécution:
Ou si vous voulez le répertoire à partir duquel le script a été invoquée:
De la docs:
En fonction de la façon dont le script est appelé, ce peut être un chemin relatif à partir de
os.getcwd()
, doncos.path.realpath(__file__)
la conversion de ce à un chemin absolu (ou ne rien faire est la__file__
est déjà un chemin absolu).os.path.dirname()
sera de retour le répertoire complet en retirant le nom de fichier.Path
de l'objet viaPath(__file__).resolve().parent
.OriginalL'auteur Andrew Clark
Essayez ceci:
__file__
obtient le nom du fichier que vous êtes en. Ledirname
fonction obtient le répertoire que le fichier est en.L'erreur de syntaxe probablement eu à faire avec l'instruction print. En python 3.x
est pas valide. L'impression est maintenant une fonction.
œuvres. Vous avez besoin des parenthèses.
OriginalL'auteur Brad Campbell
Cela devrait fonctionner:
OriginalL'auteur Jahid