Ouvrir un fichier/programme avec Python

Fermé
clei68 - 28 oct. 2021 à 13:57
mamiemando Messages postés 33334 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 novembre 2024 - 28 oct. 2021 à 15:57
Bonjour, je commence le langage Python et j'aimerais savoir quelque chose.
En effet, je voudrais ouvrir un fichier/programme via Python comme dans l'invite de commande quand on tape :
start C:/Users/.../Desktop/fichier1.txt

Le problème c'est que je me suis renseigné un peu partout sur les forums et sites et que je n'arrive pas à avoir quelque chose de concret.
Merci d'avance !

2 réponses

mamiemando Messages postés 33334 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 novembre 2024 7 801
Modifié le 28 oct. 2021 à 16:27
Bonjour,

Il faut distinguer "ouvrir un programme" qu'il faudrait plutôt nommer "exécuter un programme", et "ouvrir un fichier" par exemple en vue de lire son contenu. Note qu'un programme est un lui-même fichier et que l'ouvrir ne correspond pas à la même opération que l'exécuter.

Pour exécuter un programme depuis python, je te renvoie au message de jordane45. Je te recommande plutôt
subprocess.Popen
.

from subprocess import Popen, PIPE

cmd = ['ls', '-l']
dot = Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE)
stdoutdata, stderrdata = dot.communicate(s_dot.encode("utf-8"))
print(stdoutdata)
print(stderrdata)


Pour ouvrir un fichier tu peux procéder comme suit :

filename = "toto.txt"
with open(filename) as f:
  for line in f.readlines():
    print(line.strip())


Bonne chance
1
jordane45 Messages postés 38269 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 novembre 2024 4 694
28 oct. 2021 à 14:21
Bonjour,

https://blog.finxter.com/how-to-call-an-external-command-in-python/


To call an external command in a Python script, use any of the following methods:
subprocess.call() function
subprocess.run() function
subprocess.Popen Class
os.system() function
os.popen() function

0