GNU/Linux >> Belajar Linux >  >> Linux

pengganti fcntl di Windows

Modul fcntl hanya digunakan untuk mengunci file pinning, jadi dengan asumsi Anda tidak mencoba akses ganda, ini bisa menjadi solusi yang dapat diterima. Tempatkan modul ini di sys.path Anda , dan seharusnya berfungsi sebagai modul fcntl resmi.

Coba gunakan modul (sumber) ini untuk tujuan pengembangan/pengujian hanya di 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

Tentu saja, Anda perlu menempatkan fcntl.py modul di site-packages Anda direktori untuk juru bahasa Python yang ingin Anda gunakan. Misalnya, %LOCALAPPDATA%\Programs\Python\Python310\lib\site-packages\fcntl\ . Di sinilah site-packages saya hidup. Periksa Tutorialspoint untuk menemukan lokasi Anda.


Pengganti fcntl di windows adalah win32api panggilan. Penggunaannya sangat berbeda. Ini bukan tombol yang bisa Anda putar begitu saja.

Dengan kata lain, mem-porting fcntl - modul pengguna berat ke windows tidak sepele. Ini mengharuskan Anda untuk menganalisis apa sebenarnya setiap fcntl panggilan tidak dan kemudian menemukan win32api yang setara kode, jika ada.

Ada juga kemungkinan bahwa beberapa kode menggunakan fcntl tidak memiliki persamaan windows, yang mengharuskan Anda untuk mengubah api modul dan mungkin struktur/paradigma program menggunakan modul yang Anda porting.

Jika Anda memberikan detail lebih lanjut tentang fcntl panggilan orang dapat menemukan persamaan windows.


Linux
  1. 10 ALASAN MENGUBAH WINDOWS 10 KE LINUX

  2. Lampirkan Ke Windows yang Berbeda Dalam Sesi?

  3. windows setara dengan inet_aton

  1. Linux – Kernel Tercemar Di Linux?

  2. Mengaktifkan TLS 1.2 di Server Windows

  3. Diagnostik disk rendah Windows

  1. Instal Nginx di Windows

  2. Instal python-novaclient di Windows

  3. perubahan parameter modul kernel (menggunakan /sys/module)