2017-10-02 10 views
0

J'ai un programme python où j'appelle un conteneur contenant des tests que je lance. le chemin est codé en dur comme ceci:Comment rendre un chemin/sous-chemin configurable?

test_path = src/test/unittest 

Mais imaginez que je veux déplacer le dossier unittest vers un autre emplacement, mais je veux encore le programme de connaître le chemin d'appeler unittest. Comment puis-je configurer le chemin?

J'ai essayé de faire quelque chose comme ceci:

dataDir = os.path.abspath(os.path.basename(__file__)) 
testConfigFile = os.path.join(dataDir, 'unittest') 

Mais quand je l'appelle testConfigFile, il va directement à UnitTest, sans passer par src/test/

+1

définir une variable d'environnement avec un défaut : 'os.getenv (" TEST_PATH "," src/test/unitest ")' –

+0

Vous insérez la variable d'environnement 'PATH' dans' PYTHONPATH' ou vous l'ajoutez en utilisant sys.path – Vinny

+0

@ Jean-FrançoisFabre corrigez-moi si je suis mal, mais si je le fais la façon dont vous avez mentionné, le 'u Le dossier de nittest' doit toujours être à l'intérieur de 'src/test' droit? Ma question est: je veux déplacer le sous-dossier 'unittest' en dehors du chemin mentionné ci-dessus. . mais je veux que le programme reconnaisse 'unittest' quand il est appelé. Par exemple: au lieu de src/test/unittest, je déplace le dossier vers rsc/unittest. Mais quand j'appelle unittest, le programme devrait connaître le chemin et l'appeler –

Répondre

1
for root, subdirs, files in os.walk('.', True): 
    if files.count('unittest'): 
    dataDir=root