Je vous écris un python script dans windows. Je veux faire quelque chose sur la taille du fichier. Par exemple, si la taille est supérieure à 0, j’envoie email à quelqu'un, sinon continuer à d’autres choses. Comment puis-je vérifier la taille du fichier ?
Réponses
Trop de publicités?Comme ce (crédit http://www.daniweb.com/forums/thread78629.html) :
Utiliser `` et utilisez le `` membre de la structure qui en résulte :
Les autres réponses de travail réel des fichiers, mais si vous avez besoin de quelque chose qui fonctionne pour "fichier-comme des objets", essayez ceci:
# f is a file-like object.
f.seek(0, os.SEEK_END)
size = f.tell()
Il fonctionne pour les fichiers réels et StringIO, dans mon test limitée. (Python 2.7.3.) Le "fichier-comme objet" de l'API n'est pas vraiment une interface rigoureuse, bien sûr, mais la documentation de l'API suggère que les fichiers objets devraient soutenir seek() et dire().
Modifier
Une autre différence entre cela et d'os.stat (), c'est que vous pouvez stat() sur un fichier, même si vous n'avez pas la permission de le lire. Évidemment le demander/dire l'approche ne fonctionnera pas, sauf si vous avez l'autorisation de lecture.
Edit 2
Au Jonathon de la suggestion, voici un paranoïaque version. (La version ci-dessus laisse le pointeur de fichier à la fin du fichier, donc si vous essayez de lire le fichier, vous obtenez zéro octets de retour!)
# f is a file-like object.
old_file_position = f.tell()
f.seek(0, os.SEEK_END)
size = f.tell()
f.seek(old_file_position, os.SEEK_SET)