Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python's _winapi module

I was trying to write some python code that requires calls to native WINAPI functions. At first I came across the pypiwin32 package. Then, somewhere on the internet I saw someone using the _winapi module. I found no proper documentation for this module, only this link to cpython's GitHub page.
Is this a cpython-specific module? That is, is it not guaranteed that other implementations have this module?
Do I need the pypiwin32 package if the functions I need are already implemented in the _winapi module?

like image 731
HerpDerpington Avatar asked Oct 03 '18 13:10

HerpDerpington


1 Answers

It seems _winapi is specific to CPython and was added in python 3.3 under Issue 11750.

See Modules/_winapi.c which was added by this commit

This fits with the following observed behaviour:

  • python 2.x - 3.2 import _winapi fails with ImportError
  • python 3.3+ import _winapi works fine

Relying upon _winapi is a bad idea as it's undocumented and CPython-specific.

like image 132
sparrowt Avatar answered Nov 11 '22 21:11

sparrowt