What does it mean to import from a module NULL package in python?

Question:

I am reverse engineering for the purpose of fixing a script in Python. There is nothing about

from asyncio.windows_events import NULL

on the internet, and the documentation of asyncio is a little ambiguous. What does this line do? If I remove this line, will this affect the functionality of the code in any meaningful way?

Asked By: xlmaster

||

Answers:

from asyncio.windows_events import NULL

means exactly to import the name NULL from the module asyncio.windows_events.

That name is a re-export of _winapi.NULL.

_winapi is an extension module that is only compiled on Windows, and _winapi.NULL is exactly the integer 0.

In other words, you could probably replace that line with

NULL = 0
Answered By: AKX

Anything that looks like

from some.package import something

means that the name something (it could be a class, a function, a variable, or etc) is being imported from some.package, and you will need to refer to this package’s documentation (or in the worst case its source code) to figure out what exactly the declaration does. Though often, the code which does the import will make its purpose clear enough, even if you don’t know exactly how the name is eventually defined.

Removing the import will break your code unless something was unused in the first place. Now Python won’t know what something refers to.

Answered By: tripleee
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.