2017-10-10 2 views
0

J'utilise Azure Batch avec Python et je voudrais créer un répertoire dans l'espace partagé à partir d'une tâche de traitement par lots.

Selon le docs:

Shared: Ce répertoire fournit un accès en lecture/écriture à toutes les tâches exécutées sur un nœud. Toute tâche exécutée sur le noeud peut créer, lire, mettre à jour et supprimer des fichiers dans ce répertoire. Les tâches peuvent accéder à ce répertoire en référençant la variable d'environnement AZ_BATCH_NODE_SHARED_DIR.

Imaginer ce dossier est appelé test_dir:

if not os.path.exists('test_dir'): 
    os.makedirs('test_dir') 

Maintenant, si je veux écrire un fichier dans ce répertoire? Je ne peux pas utiliser:

with open('$AZ_BATCH_NODE_SHARED_DIR/test_dir/test.txt', 'a') as output: 
    output.write('hello\n') 

Comment puis-je obtenir le chemin complet de $AZ_BATCH_NODE_SHARED_DIR?

Répondre

0

utilisation os.environ, ce qui expose l'environnement actuel comme une application:

shared = os.environ['AZ_BATCH_NODE_SHARED_DIR'] 
with open(os.path.join(shared, 'test_dir', 'test.txt'), 'a') as output: