Je travaille sur un simple script Python qui peut utiliser subprocess
et/ou os
pour exécuter certaines commandes, ce qui fonctionne très bien.cd Terminal dans un répertoire donné après avoir exécuté un script Python?
Toutefois, lorsque le script se termine, je voudrais cd
le terminal réel (dans ce cas, OS X), donc à la sortie, les nouveaux fichiers sont prêts à utiliser dans le répertoire où ils ont été créés. Tous les articles suivants (subprocess.Popen
, os.system
, os.chdir
) peut faire ce que je veux de au sein le script (ils exécutent des choses dans le répertoire cible), mais à la sortie quitter le terminal au propre répertoire de scripts , pas la cible annuaire.
Je voudrais éviter d'écrire un script shell dans un fichier temporaire juste pour y parvenir, si c'est possible de toute façon?
Merci - Je vais réécrire est comme un script shell, et appelez le Python à partir de là :-) –
Vous n'avez pas besoin de laisser l'interpréteur Python traîner. Vous avez juste besoin d'obtenir l'environnement de processus comme vous le souhaitez (par exemple 'os.chdir()') et ensuite 'os.execv()' un nouveau shell. Oui, vous aurez toujours un shell subordonné en cours d'exécution, mais l'interpréteur Python aura été remplacé. http://docs.python.org/library/os.html#os.execv – msw
@msw: Je n'ai jamais été en mesure de tirer de manière fiable sur toutes les plates-formes avec des coquilles en particulier (PowerShell en particulier), mais je devrais avoir suggéré que. –