Das fcntl-Modul wird nur zum Sperren der Pinning-Datei verwendet. Wenn Sie also keinen Mehrfachzugriff versuchen, kann dies eine akzeptable Problemumgehung sein. Platzieren Sie dieses Modul in Ihrem sys.path
, und es sollte nur als offizielles fcntl-Modul funktionieren.
Versuchen Sie, dieses Modul (Quelle) nur für Entwicklungs-/Testzwecke in Windows zu verwenden.
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
Natürlich müssen Sie dann die fcntl.py
platzieren Modul in Ihrem site-packages
Verzeichnis für den Python-Interpreter, den Sie verwenden möchten. Beispiel:%LOCALAPPDATA%\Programs\Python\Python310\lib\site-packages\fcntl\
. Hier ist meine site-packages
live. Überprüfen Sie Tutorialspoint, um herauszufinden, wo sich Ihres befindet.
Der Ersatz für fcntl
unter Windows sind win32api
Anrufe. Die Nutzung ist völlig anders. Es ist kein Schalter, den man einfach umlegen kann.
Mit anderen Worten, eine fcntl
portieren -Heavy-User-Modul für Windows ist nicht trivial. Es erfordert, dass Sie analysieren, was genau jeder fcntl
ist Rufen Sie dies auf und finden Sie dann das Äquivalent win32api
Code, falls vorhanden.
Es besteht auch die Möglichkeit, dass ein Code fcntl
verwendet hat kein Windows-Äquivalent, was erfordern würde, dass Sie die Modul-API und möglicherweise die Struktur/das Paradigma des Programms ändern, das das Modul verwendet, das Sie portieren.
Wenn Sie weitere Details zu fcntl
angeben Aufrufe können Windows-Äquivalente finden.