What does a . in an import statement in Python mean?


I’m looking over the code for Python’s multiprocessing module, and it contains this line:

from ._multiprocessing import win32, Connection, PipeConnection

instead of

from _multiprocessing import win32, Connection, PipeConnection

the subtle difference being the period before _multiprocessing. What does that mean? Why the period?

Asked By: Vlad the Impala



That’s the syntax for explicit relative imports. It means import from the current package.

Answered By: Keith

The dot in the module name is used for relative module import (see here and here, section 6.4.2).

You can use more than one dot, referring not to the curent package but its parent(s). This should only be used within packages, in the main module one should always use absolute module names.

Answered By: Martin Gunia

default one dot in your current folder, when you want to go parent folder you can do like this, my python version 3.6.3

enter image description here

Answered By: Gin
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.