Ouvrir un fichier/programme avec Python

clei68 -  
mamiemando Messages postés 33769 Date d'inscription   Statut Modérateur Dernière intervention   -
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 33769 Date d'inscription   Statut Modérateur Dernière intervention   7 879
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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