SORU
21 HAZİRAN 2009, Pazar


Nasıl win32 API'python ile kullanmak için?

Nasıl Python win32 API kullanabilir miyim?
Bunu yapmanın en iyi ve kolay yolu nedir?
Bazı örnekler verebilir misiniz?

CEVAP
22 HAZİRAN 2009, PAZARTESİ


PyWin32 gitmek yoludur - ama nasıl kullanırım? Bir yaklaşım olması ve bunu çözmek için çalışıyorsanız somut bir sorun ile başlayacak. PyWin32 olan birçok Win32 API işlevleri için bağlantıları sağlar, ve gerçekten özel bir hedef seçmek zorunda.

Benim Python 2.5 yükleme (Windows ActiveState) win 32 paket Demos klasörü örnek kod ile dolu bir kitaplık, çeşitli parçaları vardır.

Örneğin, burada 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)

Bir kaç kişi ile CopyFileEx işlevi nasıl (GetTempPath ve GetTempFileName gibi) gösterir. Bu örnek, "bu kütüphane ile çalışmak nasıl". genel bir hissediyorum alabilirsiniz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Edgar flores

    Edgar flores

    7 HAZİRAN 2006
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010
  • OnlyFunClips

    OnlyFunClips

    16 ŞUBAT 2012