2010-05-20 3 views
4

J'écris un programme en Python, et je veux l'obtenir pour que le système d'exploitation ouvre le répertoire de travail actuel, en faisant par exemple Windows ouvrir explorer.exe et en naviguant vers le répertoire voulu. auriez vous des idées pour faire ça?Rendre le répertoire ouvert de l'OS en Python

Le répertoire est déjà donné par os.getcwd.

méthodes multiplateformes préféré :)

Répondre

9

Il est os.startfile, mais il est uniquement disponible sous Windows:

import os 
os.startfile('C:/') # opens explorer at C:\ drive 

Here quelqu'un (crédits à [email protected]sn.com apparemment) posté une alternative pour une utilisation sur systèmes semblables à unix, et quelqu'un mentionne le desktop package disponible à pypi (mais je ne l'ai jamais utilisé). La méthode proposée:

import os 
import subprocess 

def startfile(filename): 
    try: 
    os.startfile(filename) 
    except: 
    subprocess.Popen(['xdg-open', filename]) 

Donc, pour compléter la réponse, utilisez:

startfile(os.getcwd()) 
+1

C'est la meilleure façon de résoudre le problème. Cependant, si @Vidar veut exécuter strictement sur la ligne de commande, il peut appeler os.system ("explorer.exe% s"% start_directory) – inspectorG4dget

Questions connexes