Python, ouverture de fichier
Résolu/Fermé
A voir également:
- Python ne trouve pas mon fichier
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Fichier iso - Guide
4 réponses
Utilisateur anonyme
13 avril 2012 à 18:22
13 avril 2012 à 18:22
J'ai enfin trouvé la réponse...
Non, il ne fallait pas importer le module os mais tout simplement faire open(fich,a) pour l'ouvrir, sans importer la librairie os !!!
Non, il ne fallait pas importer le module os mais tout simplement faire open(fich,a) pour l'ouvrir, sans importer la librairie os !!!
Bonjour
Je n'y connais pas grand chose en Python, mais je suis étonné de ton os.open.
D'après la doc de la V2.7, le module os n'a pas de fonction open.
open est une fonction interne du langage, il suffirait d'écrire fichier = open('fichier','a')
http://docs.python.org/library/functions.html#open
Je n'y connais pas grand chose en Python, mais je suis étonné de ton os.open.
D'après la doc de la V2.7, le module os n'a pas de fonction open.
open est une fonction interne du langage, il suffirait d'écrire fichier = open('fichier','a')
http://docs.python.org/library/functions.html#open
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
Modifié par heyquem le 10/09/2011 à 16:59
Modifié par heyquem le 10/09/2011 à 16:59
Si, si. Les fonctions open() , ça ne manque pas dans Python:
open() (built-in function) (FrameWork.DialogWindow method) (FrameWork.Window method) (distutils.text_file.TextFile method) (imaplib.IMAP4 method) (in module aifc) (in module anydbm) (in module cd) (in module codecs) (in module dbhash) (in module dbm) (in module dl) (in module dumbdbm) (in module gdbm) (in module gzip) (in module io) (in module os) (in module ossaudiodev) (in module posixfile) (in module shelve) (in module sunau) (in module sunaudiodev) (in module tarfile) (in module wave) (in module webbrowser) (pipes.Template method) (tarfile.TarFile method) (telnetlib.Telnet method) (urllib.URLopener method) (urllib2.OpenerDirector method) (webbrowser.controller method) (zipfile.ZipFile method)
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
Modifié par heyquem le 10/09/2011 à 16:56
Modifié par heyquem le 10/09/2011 à 16:56
Bonjour
La signature de os.open est os.open(file, flags[, mode]) c'est à dire que si la fonction reçoit deux objets comme arguments, ils sont assignés aux paramètres file et flags
La valeur passée en second ne concerne donc pas le mode mais les flags. En fait, d'après ce que je comprends, les modes par ailleurs définis avec 'r' ou 'w' ou 'a' sont définis dans os.open() par des valeurs passées à la fois aux paramètres flags et mode.
Pour la liste des valeurs que peut prendre flags , voir
https://docs.python.org/3/library/os.html#open-constants
Ce sont
Le paramètre mode ne doit recevoir une valeur que si os.O_CREAT est parmi les valeurs passées à flags.
Ce paramètre reçoit aussi uniquement un entier.
Pour plus de détails:
https://www.microsoft.com/en-us/download/details.aspx?id=55984
Mais pour tes besoins, je pense que la fonction built-in (c'est à dire qu'il n'y a pas besoin de charger un module pour en disposer) open() devrait être suffisante car je ne crois pas que tu veuilles faire un programme avec Python pour des opérations du bas-niveau:
os.open(file,flags[, mode])
This function is intended for low-level I/O. For normal usage, use the built-in function open(), which returns a "file object" with read() and write() methods (and many more).
https://docs.python.org/3/library/os.html#os.open
Comme tu utilises Python 2.7, je te conseille aussi d'utiliser le statement with :
La signature de os.open est os.open(file, flags[, mode]) c'est à dire que si la fonction reçoit deux objets comme arguments, ils sont assignés aux paramètres file et flags
La valeur passée en second ne concerne donc pas le mode mais les flags. En fait, d'après ce que je comprends, les modes par ailleurs définis avec 'r' ou 'w' ou 'a' sont définis dans os.open() par des valeurs passées à la fois aux paramètres flags et mode.
Pour la liste des valeurs que peut prendre flags , voir
https://docs.python.org/3/library/os.html#open-constants
Ce sont
os.O_RDONLY os.O_WRONLY os.O_RDWR os.O_APPEND os.O_CREAT os.O_EXCL os.O_TRUNC etcCe sont des entiers
Le paramètre mode ne doit recevoir une valeur que si os.O_CREAT est parmi les valeurs passées à flags.
Ce paramètre reçoit aussi uniquement un entier.
Pour plus de détails:
https://www.microsoft.com/en-us/download/details.aspx?id=55984
Mais pour tes besoins, je pense que la fonction built-in (c'est à dire qu'il n'y a pas besoin de charger un module pour en disposer) open() devrait être suffisante car je ne crois pas que tu veuilles faire un programme avec Python pour des opérations du bas-niveau:
os.open(file,flags[, mode])
This function is intended for low-level I/O. For normal usage, use the built-in function open(), which returns a "file object" with read() and write() methods (and many more).
https://docs.python.org/3/library/os.html#os.open
Comme tu utilises Python 2.7, je te conseille aussi d'utiliser le statement with :
with open(filename,'wb') as : content = f.read()
mousekey
Messages postés
68
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
22 novembre 2014
4
Modifié par baladur13 le 13/04/2012 à 22:25
Modifié par baladur13 le 13/04/2012 à 22:25
https://docs.python.org/3/library/stdtypes.html
https://docs.python.org/3/tutorial/inputoutput.html
https://www.mikesteder.com/
Signature non conforme Modération CCM
https://docs.python.org/3/tutorial/inputoutput.html
https://www.mikesteder.com/
Signature non conforme Modération CCM
14 avril 2012 à 18:05
Par ailleurs, je n'ai pas pensé à indiquer que quand on a une fonction telle que os.open(file,flags[, mode]) et qu'on veut passer une valeur à mode, sans en passer une à flags, il faut faire l'appel de la fonction en écrivant None en deuxième position:
NB: dans ta devise, il ne doit pas y avoir de "s" dans "ton amis"
15 avril 2012 à 12:33
NB : oups, merci (un peu dans la lune quand je l'ai écrite surtout que je l'avais écrite bien juste avant...)