En Python, comment accéder à un fichier dans l'explorateur Windows ? J'ai trouvé une solution pour accéder aux dossiers :
import subprocess
subprocess.Popen('explorer "C:\path\of\folder"')
mais je n'ai pas de solution pour les fichiers.
En Python, comment accéder à un fichier dans l'explorateur Windows ? J'ai trouvé une solution pour accéder aux dossiers :
import subprocess
subprocess.Popen('explorer "C:\path\of\folder"')
mais je n'ai pas de solution pour les fichiers.
En Geoff Chappell's La ligne de commande de l'Explorateur Windows
import subprocess
subprocess.Popen(r'explorer /select,"C:\path\of\folder\file"')
Une solution plus agréable et plus sûre (uniquement sous Windows malheureusement) est la suivante os.startfile() .
Lorsqu'on lui donne un dossier au lieu d'un fichier, il ouvre l'Explorateur.
Je suis conscient que je ne réponds pas complètement à la question puisqu'il ne s'agit pas de sélectionner un fichier, mais d'utiliser la fonction subprocess
est toujours une mauvaise idée (pour des raisons de sécurité) et cette solution peut aider d'autres personnes.
En explorer
peut être surchargée, il serait un peu plus sûr de pointer directement vers l'exécutable. (il suffisait d'être Je me suis renseigné sur ce sujet aussi)
Et pendant que vous y êtes, utilisez l'API de sous-processus de Python 3 : run()
import os
import subprocess
FILEBROWSER_PATH = os.path.join(os.getenv('WINDIR'), 'explorer.exe')
def explore(path):
# explorer would choke on forward slashes
path = os.path.normpath(path)
if os.path.isdir(path):
subprocess.run([FILEBROWSER_PATH, path])
elif os.path.isfile(path):
subprocess.run([FILEBROWSER_PATH, '/select,', path])
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.