El módulo fcntl solo se usa para bloquear el archivo de anclaje, por lo que suponiendo que no intente el acceso múltiple, esta puede ser una solución aceptable. Coloque este módulo en su sys.path
, y debería funcionar como el módulo fcntl oficial.
Intente usar este módulo (fuente) con fines de desarrollo/prueba solo en 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
Por supuesto, entonces necesitas colocar el fcntl.py
módulo en tu site-packages
directorio para el intérprete de Python que desea utilizar. Por ejemplo, %LOCALAPPDATA%\Programs\Python\Python310\lib\site-packages\fcntl\
. Aquí es donde mi site-packages
En Vivo. Consulte Tutorialspoint para saber dónde se encuentra el suyo.
El sustituto de fcntl
en las ventanas son win32api
llamadas El uso es completamente diferente. No es un interruptor que simplemente puedas accionar.
En otras palabras, portar un fcntl
-El módulo de usuario pesado para Windows no es trivial. Requiere que analices qué es exactamente cada fcntl
call does y luego encuentra el equivalente win32api
código, si lo hay.
También existe la posibilidad de que algún código que use fcntl
no tiene un equivalente de Windows, lo que requeriría que cambie la API del módulo y tal vez la estructura/paradigma del programa usando el módulo que está transfiriendo.
Si proporciona más detalles sobre el fcntl
llamadas personas pueden encontrar equivalentes de Windows.