Le module fcntl est juste utilisé pour verrouiller le fichier d'épinglage, donc en supposant que vous n'essayez pas d'accès multiple, cela peut être une solution de contournement acceptable. Placez ce module dans votre sys.path
, et il devrait fonctionner comme le module fcntl officiel.
Essayez d'utiliser ce module (source) à des fins de développement/test uniquement sous 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
Bien sûr, vous devez ensuite placer le fcntl.py
module dans votre site-packages
répertoire de l'interpréteur Python que vous souhaitez utiliser. Par exemple, %LOCALAPPDATA%\Programs\Python\Python310\lib\site-packages\fcntl\
. C'est là que mon site-packages
Direct. Consultez Tutorialspoint pour trouver où se trouve le vôtre.
Le substitut de fcntl
sur les fenêtres sont win32api
appels. L'utilisation est complètement différente. Ce n'est pas un interrupteur que vous pouvez simplement actionner.
En d'autres termes, porter un fcntl
-Le module utilisateur lourd pour Windows n'est pas trivial. Cela vous oblige à analyser exactement ce que chaque fcntl
appel fait puis trouve l'équivalent win32api
code, le cas échéant.
Il est également possible que du code utilisant fcntl
n'a pas d'équivalent Windows, ce qui vous obligerait à modifier l'API du module et peut-être la structure/le paradigme du programme utilisant le module que vous portez.
Si vous fournissez plus de détails sur le fcntl
appelle les gens peuvent trouver des équivalents Windows.