GNU/Linux >> Znalost Linux >  >> Linux

náhrada fcntl v systému Windows

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.


Linux
  1. Nainstalujte Nginx na Windows

  2. Nainstalujte python-novaclient na Windows

  3. Windows ekvivalent inet_aton

  1. 10 DŮVODŮ PRO ZMĚNU WINDOWS 10 NA LINUX

  2. Připojit k různým oknům v relaci?

  3. Linux – poskvrněné jádro v Linuxu?

  1. Přidání IP adresy na Windows Server

  2. Povolení TLS 1.2 na Windows Server

  3. Diagnostika nízkého disku ve Windows