我确定这是在某处记录但我找不到它......
我的代码是从另一个库(我无法修改)获取python对象,我需要调用一些win32 api函数.
Python返回的东西不是file.fileno()的os级句柄,我的猜测是它给了MSVCRT的fileno.
>>> ctypes.windll.kernel32.CreateFileA('test',0x80000000L,1,None,3,0,0)
1948 # <- HANDLE
>>> file('test','r').fileno()
4 # <- not a HANDLE
Run Code Online (Sandbox Code Playgroud)
如何将其转换为真正的win32句柄?
bde*_*dew 10
我找到了答案:
>>> msvcrt.get_osfhandle(a.fileno())
1956 # valid HANDLE
Run Code Online (Sandbox Code Playgroud)
这实际上记录在http://docs.python.org/library/msvcrt.html上,不知道我是如何错过它的.
| 归档时间: |
|
| 查看次数: |
3244 次 |
| 最近记录: |