Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1707 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  longueur d'un fichier (python)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

longueur d'un fichier (python)

n°739370
Anna80
Posté le 26-05-2004 à 11:16:25  profilanswer
 

Bonjour,
j'ai besoin de connaître la longueur de mon fichier (en nombre de caractères) pour pouvoir récuperer des données à l'intérieur. Le problème est que len(file) ne fonctionne pas. Peut être faudrait-il transformer mon fichier en chaîne de caractères mais je ne vois pas comment. Voila j'espère que vous pourrez m'aider....
 
anna

mood
Publicité
Posté le 26-05-2004 à 11:16:25  profilanswer
 

n°739592
laurent2a
Posté le 26-05-2004 à 12:07:56  profilanswer
 

Code :
  1. fs = open("source.txt", 'r')
  2. texte = fs.read()
  3. longueur=len(texte)
  4. fs.close()


 
Ca devrait marcher

n°739595
chaica
Posté le 26-05-2004 à 12:09:23  profilanswer
 

En Python tu t'en fiches du nb de caractères de ton fichier. tu fais :

Code :
  1. >>> f1 = file('essai.txt','r')
  2. >>> list = f1.readlines()
  3. >>> list
  4. ['salut les gars!\n', 'Ca va votre vie?\n', 'Et les enfants?\n']


Et voilà t'as toutes les données de ton fichier dans une list bien pratique pour les manipulations ultérieures.

n°739619
Taz
bisounours-codeur
Posté le 26-05-2004 à 12:23:49  profilanswer
 

laurent2a a écrit :

Code :
  1. fs = open("source.txt", 'r')
  2. texte = fs.read()
  3. longueur=len(texte)
  4. fs.close()


 
Ca devrait marcher

bordel, mais y a personne qui sait faire du python correctement ici
 

Code :
  1. texte = open("source.txt" ).read()
  2. l = len(texte)


 
 
chaica > t'as la palme de la connerie, tu viens d'écraser la fonction builtin list
 

Code :
  1. lignes = open("fichier" ).readlines()

n°740260
Anna80
Posté le 26-05-2004 à 15:54:01  profilanswer
 

nickel....merci beaucoup!!!

n°740777
cassidy
Black Rainbow
Posté le 26-05-2004 à 22:13:48  profilanswer
 

file à la place de open je dirais même.
 
Sinon tu peux faire:
os.stat(path).st_size
 
ca t'évites de lire tout le fichier et de le charger en mémoire.

n°867384
Profil sup​primé
Posté le 07-10-2004 à 20:28:10  answer
 

Taz a écrit :

bordel, mais y a personne qui sait faire du python correctement ici
 

Code :
  1. texte = open("source.txt" ).read()
  2. l = len(texte)


 


 
justement je me posais la question, quand on récupère le contenu d'un fichier de cette facon, on a donc pas d'objet fichier.
comment on fait pour fermer le fichier ? ca se fait tout seul ?  :heink: ou on s'en fout en fait que ce soit ouvert ou fermé...

n°867385
Taz
bisounours-codeur
Posté le 07-10-2004 à 20:29:26  profilanswer
 

bah oui il se ferme tout seul. Python __a__ des destructeurs (opérateur __del__)

n°867393
Profil sup​primé
Posté le 07-10-2004 à 20:38:20  answer
 

ok  :jap:

n°867399
Kristoph
Posté le 07-10-2004 à 20:45:11  profilanswer
 

Notez qu'en fesant comme ça, vous courrez le risque de causer des bugs dans Jython et IronPython car ceux-ci utilisent exclusivement le GC pour detruire les objets et qu'on ne peut jamais savoir quand celui-ci va agir.

mood
Publicité
Posté le 07-10-2004 à 20:45:11  profilanswer
 

n°867426
Taz
bisounours-codeur
Posté le 07-10-2004 à 20:54:07  profilanswer
 

d'ailleurs j'ai pas regardé la spécification de python, mais il me semble quand même que l'appel aux destructeurs est requis. Je pense pas que ça soit le cas avec Jython. Du reste, c'est la nature des GC : ça doit pas trop poser de problèmes (sauf ressources critiques, genre ouverture de milliers de fichiers, il vaut mieux fermer dès que possible, explicitement pour libérer un descripteur).

n°867433
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:01:02  profilanswer
 

tiens, je serais curieux de voir ce qu'impose les règles de portées sur ça, il me semblerait normal que ça force un peu là main aux destructeurs quand même

n°867451
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2004 à 21:09:36  profilanswer
 

Accessoirement si un jour vous avez besoin de récupérer la taille d'un fichier (je parle bien de la taille), c'est os.path.getsize(file_path) (et non ce que fait cassidy)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°867453
Taz
bisounours-codeur
Posté le 07-10-2004 à 21:11:38  profilanswer
 

les 2 sont OK

n°867502
masklinn
í dag viðrar vel til loftárása
Posté le 07-10-2004 à 21:45:45  profilanswer
 

Taz a écrit :

les 2 sont OK


oui mais vu qu'on a un joli wrapper a notre disposition et a moins d'avoir besoin d'autres elements issus de os.stats() c'est plus simple, plus clair et plus lisible de l'utiliser
 
non?
 [:totoz]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  longueur d'un fichier (python)

 

Sujets relatifs
[XML] Lien entre le fichier xml et xslcréarion d'un répertoire & sauvegarde de fichier à la racine
[batch] remplacer un fichier par une version plus recente (date)[Shell tcsh] [RESOLU] Récupération du path à partir du fichier
Manipulation de fichier *.txtlire / ecrire dans un fichier [resolu]
chercher une chaine de caractere dans un fichier textestockage des données dans un fichier XML en C++
Générer un fichier xml à partir d'un xsd via php ?contenu réel d'un fichier texte ou exe [debutant]
Plus de sujets relatifs à : longueur d'un fichier (python)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR