Il modulo fcntl viene utilizzato solo per bloccare il file di blocco, quindi supponendo che tu non provi l'accesso multiplo, questa può essere una soluzione accettabile. Inserisci questo modulo nel tuo sys.path
, e dovrebbe funzionare solo come modulo fcntl ufficiale.
Prova a utilizzare questo modulo (sorgente) per scopi di sviluppo/test solo in Windows.
def fcntl(fd, op, arg=0):
return 0
def ioctl(fd, op, arg=0, mutable_flag=True):
if mutable_flag:
return 0
else:
return ""
def flock(fd, op):
return
def lockf(fd, operation, length=0, start=0, whence=0):
return
Ovviamente, allora devi inserire il fcntl.py
modulo nel tuo site-packages
directory per l'interprete Python che si desidera utilizzare. Ad esempio, %LOCALAPPDATA%\Programs\Python\Python310\lib\site-packages\fcntl\
. Qui è dove il mio site-packages
abitare. Controlla Tutorialspoint per scoprire dove si trova il tuo.
Il sostituto di fcntl
su Windows sono win32api
chiamate. L'utilizzo è completamente diverso. Non è un interruttore che puoi semplicemente capovolgere.
In altre parole, il porting di un fcntl
-heavy-user per Windows non è banale. Ti richiede di analizzare cosa esattamente ogni fcntl
call fa e poi trova l'equivalente win32api
codice, se presente.
C'è anche la possibilità che del codice utilizzi fcntl
non ha un equivalente di Windows, il che richiederebbe di modificare l'API del modulo e forse la struttura/paradigma del programma utilizzando il modulo che stai portando.
Se fornisci maggiori dettagli sul fcntl
chiama le persone possono trovare equivalenti di Windows.