我有一個特定的硬件驅動程序,它要求我在其文件描述符上調用_write(fd, 0, 0)
以觸發某些特定行爲。將0個字符寫入文件描述符
我希望能夠從Python做到這一點 - 請任何人都可以提出一種方法來實現這一點?
EDIT(應該已經把這個開頭,對不起!):已經試過和不工作
事情:
f.write("")
os.write(fd, "")
os.fdsync(fd)
我有一個特定的硬件驅動程序,它要求我在其文件描述符上調用_write(fd, 0, 0)
以觸發某些特定行爲。將0個字符寫入文件描述符
我希望能夠從Python做到這一點 - 請任何人都可以提出一種方法來實現這一點?
EDIT(應該已經把這個開頭,對不起!):已經試過和不工作
事情:
f.write("")
os.write(fd, "")
os.fdsync(fd)
如果你真的需要有一個空指針(一個可怕的驅動程序設計 - 一個ioctl本來會好得多),你將不得不通過去。
至少,
import ctypes
ctypes.cdll.msvcrt._write(1, 0, 0)
似乎工作。
我不需要有一個NULL指針,它是寫入零字節觸發我所需要的! – 2012-07-13 08:45:37
的os
模塊作爲函數調用write
:
import os
os.write(fd, b"")
'f.write(「」)'工作嗎? – Amber 2012-07-12 15:55:16
我猜測它不會起作用,因爲雖然'「」是零長度,但它不是空引用(地址爲'0')。 – kindall 2012-07-12 16:06:57
您可能不得不直接調用Windows特定功能來完成此操作。看看內置的'ctypes'模塊和[PyWin32](http://sourceforge.net/projects/pywin32/)模塊。無論哪種方式,你將不得不有一些win32 API的知識。 – martineau 2012-07-12 16:31:05