Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
32d37421
Kaydet (Commit)
32d37421
authored
Eyl 07, 2016
tarafından
Senthil Kumaran
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
[backport to 3.5] - issue26896 - Disambiguate uses of "importer" with "finder".
üst
e848cd76
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
21 additions
and
21 deletions
+21
-21
import.rst
Doc/c-api/import.rst
+4
-4
pkgutil.py
Lib/pkgutil.py
+9
-9
runpy.py
Lib/runpy.py
+2
-2
test_meta_path.py
Lib/test/test_importlib/import_/test_meta_path.py
+0
-1
util.py
Lib/test/test_importlib/util.py
+0
-1
test_pkgutil.py
Lib/test/test_pkgutil.py
+1
-1
ACKS
Misc/ACKS
+1
-0
import.c
Python/import.c
+4
-3
No files found.
Doc/c-api/import.rst
Dosyayı görüntüle @
32d37421
...
...
@@ -207,13 +207,13 @@ Importing Modules
.. c:function:: PyObject* PyImport_GetImporter(PyObject *path)
Return a
n import
er object for a :data:`sys.path`/:attr:`pkg.__path__` item
Return a
find
er object for a :data:`sys.path`/:attr:`pkg.__path__` item
*path*, possibly by fetching it from the :data:`sys.path_importer_cache`
dict. If it wasn't yet cached, traverse :data:`sys.path_hooks` until a hook
is found that can handle the path item. Return ``None`` if no hook could;
this tells our caller
it should fall back to the built-in import mechanism.
Cache the result in :data:`sys.path_importer_cache`. Return a new reference
to the import
er object.
this tells our caller
that the :term:`path based finder` could not find a
finder for this path item. Cache the result in :data:`sys.path_importer_cache`.
Return a new reference to the find
er object.
.. c:function:: void _PyImport_Init()
...
...
Lib/pkgutil.py
Dosyayı görüntüle @
32d37421
...
...
@@ -45,7 +45,7 @@ def read_code(stream):
def
walk_packages
(
path
=
None
,
prefix
=
''
,
onerror
=
None
):
"""Yields (module_
loa
der, name, ispkg) for all modules recursively
"""Yields (module_
fin
der, name, ispkg) for all modules recursively
on path, or, if path is None, all accessible modules.
'path' should be either None or a list of paths to look for
...
...
@@ -102,7 +102,7 @@ def walk_packages(path=None, prefix='', onerror=None):
def
iter_modules
(
path
=
None
,
prefix
=
''
):
"""Yields (module_
loa
der, name, ispkg) for all submodules on path,
"""Yields (module_
fin
der, name, ispkg) for all submodules on path,
or, if path is None, all top-level modules on sys.path.
'path' should be either None or a list of paths to look for
...
...
@@ -184,10 +184,10 @@ def _import_imp():
imp
=
importlib
.
import_module
(
'imp'
)
class
ImpImporter
:
"""PEP 302
Import
er that wraps Python's "classic" import algorithm
"""PEP 302
Find
er that wraps Python's "classic" import algorithm
ImpImporter(dirname) produces a PEP 302
import
er that searches that
directory. ImpImporter(None) produces a PEP 302
import
er that searches
ImpImporter(dirname) produces a PEP 302
find
er that searches that
directory. ImpImporter(None) produces a PEP 302
find
er that searches
the current sys.path, plus any modules that are frozen or built-in.
Note that ImpImporter does not currently support being used by placement
...
...
@@ -397,7 +397,7 @@ except ImportError:
def
get_importer
(
path_item
):
"""Retrieve a finder for the given path item
The returned
import
er is cached in sys.path_importer_cache
The returned
find
er is cached in sys.path_importer_cache
if it was newly created by a path hook.
The cache (or part of it) can be cleared manually if a
...
...
@@ -421,14 +421,14 @@ def get_importer(path_item):
def
iter_importers
(
fullname
=
""
):
"""Yield finders for the given module name
If fullname contains a '.', the
import
ers will be for the package
If fullname contains a '.', the
find
ers will be for the package
containing fullname, otherwise they will be all registered top level
import
ers (i.e. those on both sys.meta_path and sys.path_hooks).
find
ers (i.e. those on both sys.meta_path and sys.path_hooks).
If the named module is in a package, that package is imported as a side
effect of invoking this function.
If no module name is specified, all top level
import
ers are produced.
If no module name is specified, all top level
find
ers are produced.
"""
if
fullname
.
startswith
(
'.'
):
msg
=
"Relative module name {!r} not supported"
.
format
(
fullname
)
...
...
Lib/runpy.py
Dosyayı görüntüle @
32d37421
...
...
@@ -98,7 +98,7 @@ def _run_module_code(code, init_globals=None,
# may be cleared when the temporary module goes away
return
mod_globals
.
copy
()
# Helper to get the
loader, code and filenam
e for a module
# Helper to get the
full name, spec and cod
e for a module
def
_get_module_details
(
mod_name
,
error
=
ImportError
):
if
mod_name
.
startswith
(
"."
):
raise
error
(
"Relative module names not supported"
)
...
...
@@ -262,7 +262,7 @@ def run_path(path_name, init_globals=None, run_name=None):
return
_run_module_code
(
code
,
init_globals
,
run_name
,
pkg_name
=
pkg_name
,
script_name
=
fname
)
else
:
#
Import
er is defined for path, so add it to
#
Find
er is defined for path, so add it to
# the start of sys.path
sys
.
path
.
insert
(
0
,
path_name
)
try
:
...
...
Lib/test/test_importlib/import_/test_meta_path.py
Dosyayı görüntüle @
32d37421
...
...
@@ -76,7 +76,6 @@ class CallSignature:
self
.
__import__
(
mod_name
)
assert
len
(
log
)
==
1
args
=
log
[
0
][
0
]
kwargs
=
log
[
0
][
1
]
# Assuming all arguments are positional.
self
.
assertEqual
(
args
[
0
],
mod_name
)
self
.
assertIsNone
(
args
[
1
])
...
...
Lib/test/test_importlib/util.py
Dosyayı görüntüle @
32d37421
...
...
@@ -266,7 +266,6 @@ class mock_spec(_ImporterMock):
module
=
self
.
modules
[
fullname
]
except
KeyError
:
return
None
is_package
=
hasattr
(
module
,
'__path__'
)
spec
=
util
.
spec_from_file_location
(
fullname
,
module
.
__file__
,
loader
=
self
,
submodule_search_locations
=
getattr
(
module
,
'__path__'
,
None
))
...
...
Lib/test/test_pkgutil.py
Dosyayı görüntüle @
32d37421
...
...
@@ -205,7 +205,7 @@ class PkgutilPEP302Tests(unittest.TestCase):
del
sys
.
meta_path
[
0
]
def
test_getdata_pep302
(
self
):
# Use a dummy
import
er/loader
# Use a dummy
find
er/loader
self
.
assertEqual
(
pkgutil
.
get_data
(
'foo'
,
'dummy'
),
"Hello, world!"
)
del
sys
.
modules
[
'foo'
]
...
...
Misc/ACKS
Dosyayı görüntüle @
32d37421
...
...
@@ -990,6 +990,7 @@ Damien Miller
Jason V. Miller
Jay T. Miller
Katie Miller
Oren Milman
Roman Milner
Julien Miotte
Andrii V. Mishkovskyi
...
...
Python/import.c
Dosyayı görüntüle @
32d37421
...
...
@@ -960,12 +960,13 @@ is_builtin(PyObject *name)
}
/* Return a
n import
er object for a sys.path/pkg.__path__ item 'p',
/* Return a
find
er object for a sys.path/pkg.__path__ item 'p',
possibly by fetching it from the path_importer_cache dict. If it
wasn't yet cached, traverse path_hooks until a hook is found
that can handle the path item. Return None if no hook could;
this tells our caller it should fall back to the builtin
import mechanism. Cache the result in path_importer_cache.
this tells our caller that the path based finder could not find
a finder for this path item. Cache the result in
path_importer_cache.
Returns a borrowed reference. */
static
PyObject
*
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment