Accueil > Forum > > > > Fichiers en python
Fichiers en python
lundi 13 juin 2005 à 11:28:44 |
Fichiers en python

darfeuille
|
Salut, Etant novice en python, je bloque sur un truc : Dans un de mes programmes, a un moment, je dois recopier un fichier (en le modifiant) d'un répertoire vers un autre. Je sais que le nouveau fichier ne sera pas plus gros que celui d'origine. Mais étant donné que ce sont des fichiers de plusieurs GO, il me faut controler s'il y a assez d'espace libre. C'est pourquoi : Pouvez vous me dire comment je peux connaitre : 1/ la taille d'un fichier 2/ l'espace libre dans un répertoire De maniere portable (linux, win et mac) J'ai cherché dans os.path, qui contient des outils assez proches, mais je n'ai rien trouvé de tel. Merci
|
|
lundi 13 juin 2005 à 11:57:04 |
Re : Fichiers en python

taz_iup
|
Réponse acceptée !
j'ai trouve ceci sur python.org la methode stat du module os permet de retrouver la taille d'un fichier. et la méthode statvfs permet de retrouver la taille libre mais n'est disponible que sous UNIX. c'est déjà un début... http://www.python.org/doc/2.4.1/lib/os-file-dir.html
|
|
lundi 13 juin 2005 à 12:31:35 |
Re : Fichiers en python

taz_iup
|
pour windows tu peux utiliser win32com mais c'est moyen comme solution... import win32com.client strComputer = "." objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator") objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2") colItems = objSWbemServices.ExecQuery("Select * from Win32_LogicalDisk") for objItem in colItems: print "Access: ", objItem.Access print "Availability: ", objItem.Availability print "Block Size: ", objItem.BlockSize print "Caption: ", objItem.Caption print "Compressed: ", objItem.Compressed print "Config Manager Error Code: ", objItem.ConfigManagerErrorCode print "Config Manager User Config: ", objItem.ConfigManagerUserConfig print "Creation Class Name: ", objItem.CreationClassName print "Description: ", objItem.Description print "Device ID: ", objItem.DeviceID print "Drive Type: ", objItem.DriveType print "Error Cleared: ", objItem.ErrorCleared print "Error Description: ", objItem.ErrorDescription print "Error Methodology: ", objItem.ErrorMethodology print "File System: ", objItem.FileSystem print "Free Space: ", objItem.FreeSpace  print "Install Date: ", objItem.InstallDate print "Last Error Code: ", objItem.LastErrorCode print "Maximum Component Length: ", objItem.MaximumComponentLength print "Media Type: ", objItem.MediaType print "Name: ", objItem.Name print "Number Of Blocks: ", objItem.NumberOfBlocks print "PNP Device ID: ", objItem.PNPDeviceID z = objItem.PowerManagementCapabilities if z is None: a = 1 else: for x in z: print "Power Management Capabilities: ", x print "Power Management Supported: ", objItem.PowerManagementSupported print "Provider Name: ", objItem.ProviderName print "Purpose: ", objItem.Purpose print "Quotas Disabled: ", objItem.QuotasDisabled print "Quotas Incomplete: ", objItem.QuotasIncomplete print "Quotas Rebuilding: ", objItem.QuotasRebuilding print "Size: ", objItem.Size  print "Status: ", objItem.Status print "Status Info: ", objItem.StatusInfo print "Supports Disk Quotas: ", objItem.SupportsDiskQuotas print "Supports File-Based Compression: ", objItem.SupportsFileBasedCompression print "System Creation Class Name: ", objItem.SystemCreationClassName print "System Name: ", objItem.SystemName print "Volume Dirty: ", objItem.VolumeDirty print "Volume Name: ", objItem.VolumeName print "Volume Serial Number: ", objItem.VolumeSerialNumber
|
|
lundi 13 juin 2005 à 12:37:16 |
Re : Fichiers en python

taz_iup
|
enfin apparement, il n'existe pas de solution "universelle". Je pense que le meilleur moyen est de passer par une commande system: os.popen2 couple avec un test sur la platform (os.platform) voila tiens nous au courant
|
|
lundi 13 juin 2005 à 13:26:46 |
Re : Fichiers en python

darfeuille
|
alors, voila ou j'en suis : ma question 1 etait : comment savoir la taille d'un fichier. Et effectivement stat marche impecc merci beaucoup :) pour savoir la place libre, je ne vois pas quelle membre de statvfs la renvoie. Elle renvoie plein de trucs, mais pas la taille libre (enfin, je n'ai pas l'impression). Ce n'est ni "free nodes" ni "free blocks" a priori Je vais continuer a chercher, et je te remercie beaucoup :)
|
|
lundi 13 juin 2005 à 13:53:48 |
Re : Fichiers en python

taz_iup
|
ton disque est constitué de bloc reste a savoir la taille d'un block... mais je crois que statvfs le donne aussi... de toute façon cette fonction n'est dispo que sous UNIX... :'( donc elle ne résud pas ton problème pour Windows et Mac...
|
|
lundi 13 juin 2005 à 17:00:23 |
Re : Fichiers en python

darfeuille
|
J'ai fini tout le reste du programme, je vais donc ne plus me concentrer que sur ca. J'ai cherché comment connaître la taille d'un bloc, mais je ne trouve pas. ca doit pourtant bien exister, mais les seuls trucs que j'ai trouvé c'est que c'est "variable", ce qui ne m'aide pas beaucoup :) Je tiens au courant de ce que je trouve, et en attendant, si quelqu'un a une solution, elle sera vraiment la bienvenue :) ps : c'est marrant la programmation, des fois des trucs super compliques se font tout seuls, et des fois des trucs qui paraissent basiques comme ca, et ben on bloque dessus.
|
|
lundi 13 juin 2005 à 17:19:31 |
Re : Fichiers en python

taz_iup
|
la fonction statvfs te donne ces infos - Perform a statvfs() system call on the given path. The return value is an object whose attributes describe the filesystem on the given path, and correspond to the members of the statvfs structure, namely: f_frsize, f_blocks, f_bfree, f_bavail, f_files, f_ffree, f_favail, f_flag, f_namemax. Availability: Unix.
For backward compatibility, the return value is also accessible as a tuple whose values correspond to the attributes, in the order given above. The standard module statvfs defines constants that are useful for extracting information from a statvfs structure when accessing it as a sequence; this remains useful when writing code that needs to work with versions of Python that don't support accessing the fields as attributes. Changed in version 2.2: Added access to values as attributes of the returned object. Statfvs Module The statvfs module defines constants so interpreting the result if os.statvfs(), which returns a tuple, can be made without remembering ``magic numbers.'' Each of the constants defined in this module is the index of the entry in the tuple returned by os.statvfs() that contains the specified information. - F_BSIZE
- Preferred file system block size.
- F_FRSIZE
- Fundamental file system block size.
|
|
mardi 14 juin 2005 à 08:25:02 |
Re : Fichiers en python

darfeuille
|
Merci taz_iup.  Etant donné qu'il me faut faire un programme portable, marchant dans tout os, mon responsable m'a dit de laisser tomber, que ca n'a pas d'importance, qu'on n'a pas le temps, et simplement, grace a la méthode stat, si le fichier dépasse 1.5GO, j'en informe l'utilisateur. Sinon, j'aime bien le python, c'est simple, sympa et pas très lent pour un langage interprété. Merci beaucoup et bon courage.
|
|
mardi 14 juin 2005 à 19:24:54 |
Re : Fichiers en python

taz_iup
|
ok, mais je trouve ca bizarre quand même qu'il n'y ai pas de fonctions prévue pour ce genre de fonctionnalité pourtant très courante je pense.  si tu veux rester portable, je pense que le plus rapide est : if( os.platform='XXX' ): os.popen(...) elif( os.platform='YYY'):
|
|
Cette discussion est classée dans : fichier, répertoire, fichiers, espace, python
Répondre à ce message
Sujets en rapport avec ce message
Comment restaurer data.fs dans l' application zope? [ par rabikisa ]
Bonjour, J'ai monté un serveur Zope sous Linux et je dois mettre en place une stratégie de sauvegarde. Zope sauvegarde toutes ses configurations, les
Date de création des fichiers par ftp [ par judre ]
Salut, J'ai une application qui transfère une tonne de fichier par ftp en utilisant ftplib. J'aimerais savoir si y'a un truc pour télécharger les fi
installation de python [ par elroulianito ]
Comment on installe une nouvelle version sous linux?? sous suse 8.2 j'ai une vieille version de python (la 2.2) hors je veux Tkinter. - j'ai téléchar
Ouverture d'un fichier windows (avec Tkinter) [ par Uims ]
Bonjour, Je travaille sous python et Tkinter et j'aurai voulu savoir comment dire a python de demarrer (comme on clique sur un fichier) une applicati
instruction de base sous Python de transfert de fichiers [ par dgpgl ]
Comment transferer des fichiers par xxx.jpeg depuis un PC windows sur une machine linux... a l'adresse xxx.ccc.com qui est ouverte via un port ssh! a
uploader un fichier [ par amina22 ]
bonjour,je suis entrain de programmer une application qui se resume a une interface qui me permet d'uploader des fichiers(audio,vidéo,image...) et d
python [ par tattou_j ]
Bonjour,Je suis entrain de travailler sur mon pfe, est ce que quelqu'un peut m'aider et m'envoyer des codes en python sur eclipse concernant l'envoi d
ouvrir un fichier pdf avec python [ par roroloco ]
Bonjour à tous,je souhaite pouvoir ouvrir un fichier pdf (c'est mon fichier d'aide) à partir d'un bouton marqué Aide dans un programme écrit en Python
liste [ par Topnotch ]
Bonjourje voudrais comparer deux listes:Plus précisement, je voudrais comparer deux fichiers texte (fichier.txt) pour savoir si des lignes du fichier
Ouvrir un fichier avec un autre programme [ par piche32 ]
Bonjour à tous. Je suis débutant en python et je souhaiterais ouvrir un fichier avec google earth depuis un programme en python. J'aimerais savoir qu
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|