longueur d'un fichier (python) - Python - Programmation
Marsh Posté le 26-05-2004 à 12:07:56
Code :
|
Ca devrait marcher
Marsh Posté le 26-05-2004 à 12:09:23
En Python tu t'en fiches du nb de caractères de ton fichier. tu fais :
Code :
|
Et voilà t'as toutes les données de ton fichier dans une list bien pratique pour les manipulations ultérieures.
Marsh Posté le 26-05-2004 à 12:23:49
laurent2a a écrit :
|
bordel, mais y a personne qui sait faire du python correctement ici
Code :
|
chaica > t'as la palme de la connerie, tu viens d'écraser la fonction builtin list
Code :
|
Marsh Posté le 26-05-2004 à 22:13:48
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.
Marsh Posté le 07-10-2004 à 20:28:10
Taz a écrit : bordel, mais y a personne qui sait faire du python correctement ici
|
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 ? ou on s'en fout en fait que ce soit ouvert ou fermé...
Marsh Posté le 07-10-2004 à 20:29:26
bah oui il se ferme tout seul. Python __a__ des destructeurs (opérateur __del__)
Marsh Posté le 07-10-2004 à 20:45:11
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.
Marsh Posté le 07-10-2004 à 20:54:07
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).
Marsh Posté le 07-10-2004 à 21:01:02
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
Marsh Posté le 07-10-2004 à 21:09:36
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)
Marsh Posté le 07-10-2004 à 21:45:45
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?
Marsh Posté le 26-05-2004 à 11:16:25
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