PyWin32 est la voie à suivre - mais comment l'utiliser ? Une approche consiste à commencer par un problème concret que vous rencontrez et à tenter de le résoudre. PyWin32 fournit des liens pour les fonctions de l'API Win32, qui sont nombreuses, et vous devez vraiment commencer par choisir un objectif spécifique.
Dans mon installation de Python 2.5 (ActiveState sous Windows), le paquet win32 contient un dossier Demos contenant des exemples de code de diverses parties de la bibliothèque.
Par exemple, voici CopyFileEx.py :
import win32file, win32api
import os
def ProgressRoutine(TotalFileSize, TotalBytesTransferred, StreamSize, StreamBytesTransferred,
StreamNumber, CallbackReason, SourceFile, DestinationFile, Data):
print Data
print TotalFileSize, TotalBytesTransferred, StreamSize, StreamBytesTransferred, StreamNumber, CallbackReason, SourceFile, DestinationFile
##if TotalBytesTransferred > 100000:
## return win32file.PROGRESS_STOP
return win32file.PROGRESS_CONTINUE
temp_dir=win32api.GetTempPath()
fsrc=win32api.GetTempFileName(temp_dir,'cfe')[0]
fdst=win32api.GetTempFileName(temp_dir,'cfe')[0]
print fsrc, fdst
f=open(fsrc,'w')
f.write('xxxxxxxxxxxxxxxx\n'*32768)
f.close()
## add a couple of extra data streams
f=open(fsrc+':stream_y','w')
f.write('yyyyyyyyyyyyyyyy\n'*32768)
f.close()
f=open(fsrc+':stream_z','w')
f.write('zzzzzzzzzzzzzzzz\n'*32768)
f.close()
operation_desc='Copying '+fsrc+' to '+fdst
win32file.CopyFileEx(fsrc, fdst, ProgressRoutine, operation_desc, False, win32file.COPY_FILE_RESTARTABLE)
Il montre comment utiliser la fonction CopyFileEx avec quelques autres (comme GetTempPath et GetTempFileName). Cet exemple vous donne une idée générale de la façon de travailler avec cette bibliothèque.
7 votes
Oui, je l'ai fait avant de poser la question, et j'ai trouvé plusieurs résultats. mon but est de commencer à apprendre la solution la plus recommandée pour mon problème. d'ailleurs, une telle question n'a pas été posée dans stack overflow avant, donc j'ai pensé que de bonnes réponses de programmeurs plus expérimentés peuvent montrer le bon chemin à prendre pour les débutants comme moi =)
13 votes
J'ai fait des recherches sur Internet et suivi les liens, mais je ne sais toujours pas comment faire.
0 votes
Y a-t-il un cas d'utilisation spécifique ? Qu'essayez-vous de faire qui ne fait pas partie de la bibliothèque standard de Python ?
0 votes
@SashaChedygov de rien ! Il n'est jamais tard pour apprendre des erreurs.
0 votes
Je lisais juste les commentaires et celui de @SashaChedygov m'a frappé. Croyez-le ou non, je suis arrivé ici en cherchant sur Google. C'est maintenant (14 ans plus tard ?) l'entrée la plus élevée dans la liste des articles trouvés. Ironique ?