Comment ouvrir un fichier dans le répertoire parent en python dans AppEngine?
Comment ouvrir un fichier dans le répertoire parent en python dans AppEngine?
J'ai un fichier python module/mod.py avec le code suivant
f = open('../data.yml')
z = yaml.load(f)
f.close()
de données.yml est dans le parent de la dir du module. L'erreur que j'obtiens est
IOError: [Errno 13] file not accessible: '../data.yml'
Je suis en utilisant AppEngine SDK 1.3.3.
Est-il une solution?
source d'informationauteur GeekTantra | 2010-05-02
Vous devez vous connecter pour publier un commentaire.
La
open
fonctionne par rapport à l'actuel processus de répertoire de travail, pas le module, il est appelé à partir. Si le chemin d'accès doit être du module par rapport, à le faire:Avoir rencontré cette question et de ne pas être satisfait de la réponse, j'ai couru à travers une solution différente. Il a pris la suite pour obtenir ce que je voulais.
Déterminer le répertoire courant à l'aide de
os.path.dirname
:current_directory = os.path.dirname(__file__)
Déterminer le parent directory à l'aide de
os.path.split
:parent_directory = os.path.split(current_directory)[0] # Repeat as needed
Rejoindre parent_directory avec tous les sous-répertoires:
file_path = os.path.join(parent_directory, 'path', 'to', 'file')
Ouvrir le fichier:
open(file_path)
Combinés: