Estou olhando o código para o multiprocessing
módulo do Python , e ele contém esta linha:
from ._multiprocessing import win32, Connection, PipeConnection
ao invés de
from _multiprocessing import win32, Connection, PipeConnection
a diferença sutil é o período anterior _multiprocessing
. O que isso significa? Por que o período?
.
, se você tivesse um arquivo_multiprocessing.py
por algum motivo indecifrável próximo ao seu script principal,multiprocessing
seria interrompido. Com o.
, garante que ele obtenha seu próprio módulo..
se refere a módulos de mesmo nível, por que a documentação diria usar a.
quando esse módulo de multiprocessamento deve fazer parte das bibliotecas sys.path regulares? A pergunta e o esclarecimento de Chris os misturam ou não estou entendendo? Agradecemos a ajuda.Respostas:
Essa é a nova sintaxe para importações relativas explícitas . Significa importar do pacote atual.
fonte
from . import peermodule
from .. import parentpackagemodule
O ponto no nome do módulo é usado para a importação relativa do módulo (veja aqui e aqui , seção 6.4.2).
Você pode usar mais de um ponto, referindo-se não ao pacote atual, mas ao (s) pai (s). Isso deve ser usado apenas dentro de pacotes, no módulo principal sempre deve-se usar nomes absolutos de módulo.
fonte