Modul fcntl se používá pouze k uzamčení připínacího souboru, takže za předpokladu, že nezkusíte vícenásobný přístup, může to být přijatelné řešení. Umístěte tento modul do sys.path
, a měl by fungovat pouze jako oficiální modul fcntl.
Zkuste použít tento modul (zdroj) pro účely vývoje/testování pouze v systému 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
Samozřejmě pak musíte umístit fcntl.py
modul ve vašem site-packages
adresář pro interpret Pythonu, který chcete použít. Například %LOCALAPPDATA%\Programs\Python\Python310\lib\site-packages\fcntl\
. Tady je můj site-packages
žít. Podívejte se na Tutorialspoint a zjistěte, kde se nachází ten váš.
Náhrada za fcntl
na Windows jsou win32api
hovory. Využití je úplně jiné. Není to nějaký přepínač, který můžete jen tak přehodit.
Jinými slovy, portování fcntl
-heavy-user modul do Windows není triviální. Vyžaduje to, abyste analyzovali, co přesně každý fcntl
call dělá a pak najděte ekvivalent win32api
kód, pokud existuje.
Existuje také možnost, že některý kód používá fcntl
nemá ekvivalent pro Windows, což by vyžadovalo, abyste změnili rozhraní API modulu a možná i strukturu/paradigma programu pomocí modulu, který přenášíte.
Pokud poskytnete další podrobnosti o fcntl
hovory mohou lidé najít ekvivalenty systému Windows.