Maison  >  Article  >  développement back-end  >  Comment Python peut-il ouvrir des fichiers à l'aide de leurs applications par défaut sous Windows et macOS ?

Comment Python peut-il ouvrir des fichiers à l'aide de leurs applications par défaut sous Windows et macOS ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-25 20:37:18121parcourir

How Can Python Open Files Using Their Default Applications on Windows and macOS?

Ouverture de fichiers avec l'application par défaut sous Windows et Mac OS à l'aide de Python

En Python, il est souvent nécessaire d'ouvrir un document en utilisant son application par défaut application. Cela imite l'action d'un double-clic sur une icône de fichier dans l'Explorateur de fichiers ou le Finder. Pour y parvenir, Python propose une solution robuste.

Mise en œuvre :

Pour ouvrir un fichier avec son application par défaut, Python fournit un outil puissant sous la forme du sous-processus module. L'extrait de code suivant montre comment ouvrir un fichier à l'aide de l'application par défaut sous Windows et Mac OS :

import subprocess, os, platform

# Determine the operating system
if platform.system() == 'Darwin':       # macOS
    subprocess.call(('open', filepath))
elif platform.system() == 'Windows':    # Windows
    os.startfile(filepath)
else:                                   # linux variants
    subprocess.call(('xdg-open', filepath))

Dans le code :

  • Darwin représente Mac OS, Windows représente le système d'exploitation Windows et pour les systèmes basés sur Linux, le code tente d'utiliser le commande xdg-open.
  • subprocess.call() est utilisée pour exécuter la commande appropriée pour ouvrir le fichier avec son application par défaut.
  • Les doubles parenthèses autour de (« open », filepath) sont utilisées pour garantir que le premier argument est une séquence, comme l'exige subprocess.call().

Remarques supplémentaires :

  • La commande gnome-open peut être utilisée sur les systèmes Linux avec Gnome, mais xdg-open est le choix préféré pour la compatibilité sur le bureau Linux environnements.
  • Il est recommandé d'utiliser le module de sous-processus au lieu de os.system() pour éviter les problèmes d'échappement du shell.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn